【发布时间】:2015-12-07 12:26:45
【问题描述】:
我有一个 gridview,它有一列我想动态显示它: 如果 IsExpert 或 IsAgent 等于 true 则显示它,否则不显示它并且我不想使用 RowBoundData。(IsExpert 和 IsAgent 是服务器端属性)
我的代码:
<asp:GridView ID="grvTicketList" runat="server" AllowPaging="True" AutoGenerateColumns="False" CssClass="table half table-hover table-mc-light-blue" GridLines="None"
EmptyDataText="تیکتی موجود نیست" OnPageIndexChanging="grvTicketList_PageIndexChanging" PagerStyle-BackColor="White"
PagerStyle-ForeColor="Black" OnRowCommand="grvTicketList_RowCommand" >
<Columns>
<asp:BoundField DataField="TicketID" ReadOnly="true" HeaderText="شماره تیکت" />
<asp:BoundField DataField="CurrentStateId" ReadOnly="true" HeaderText="شماره مرحله فعلی تیکت" />
<asp:BoundField DataField="TrackingCode" ReadOnly="true" HeaderText="کد رهگیری" />
<asp:BoundField DataField="ServiceName" ReadOnly="true" HeaderText="نام خدمت" />
<asp:BoundField DataField="SubServiceName" ReadOnly="true" HeaderText=" نام زیر خدمت" />
<asp:BoundField DataField="strTicketDate" HeaderText="زمان ثبت تیکت" />
<asp:BoundField DataField="CustomerName" HeaderText=" نام و نام خانوادگی مشتری" />
<asp:BoundField DataField="StateName" HeaderText="وضعیت تیکت" />
<asp:BoundField DataField="UserName" HeaderText="نام ثبت کننده تیکت" />
<asp:ButtonField Text="بازخورد" CommandName="FeedBack" ButtonType="Link" >
<ItemStyle ForeColor="#003399" />
</asp:ButtonField>
</Columns>
<PagerStyle BackColor="White" ForeColor="Black"></PagerStyle>
【问题讨论】:
-
为什么不
RowDataBound? -
我假设 IsExpert 和 IsAgent 是您代码中的一个属性。为什么不在Page_Load中隐藏gridview,否则使用Jquery。
-
@Zaki 是的! IsExpert 和 IsAgent 是属性(布尔类型),但我需要服务器代码。并且想要可见或不可见的 ButtonField 列
-
@MattMurdock 因为我有另一个事件导致页面回发后 RowDataBound 上的更改消失