[英]How to hide a column in a DataGrid?
對於任何非管理員用戶,我都需要在DataGrid
隱藏RevToDate
列。 如何僅隱藏此列?
<asp:DataGrid runat="server" CssClass="tblResults" OnItemDataBound="dgList_ItemCreated" AllowSorting="true" OnSortCommand="dgCustomer_Sort" ID="dgCustomers" DataKeyField="ID" AutoGenerateColumns="false">
<HeaderStyle CssClass="tblResultsHeader" />
<AlternatingItemStyle BackColor="#EEEEEE" />
<Columns>
<asp:HyperLinkColumn ItemStyle-CssClass="loading" DataNavigateUrlFormatString="Customer.aspx?CustID={0}" DataNavigateUrlField="ID" DataTextField="AccountCode" HeaderText="A/C Code" SortExpression="AccountCode"></asp:HyperLinkColumn>
<asp:BoundColumn DataField="CurrencyDesc" HeaderText="Currency" SortExpression="CurrencyDesc"></asp:BoundColumn>
<asp:BoundColumn DataField="RevToDate" HeaderText="Rev To Date (Net)" SortExpression="RevToDate"></asp:BoundColumn>
<asp:BoundColumn DataField="CreditLimitAmount" HeaderText="Credit Limit" SortExpression="CreditLimitAmount"></asp:BoundColumn>
<asp:BoundColumn DataField="DiscountReviewDate" HeaderText="Discount Review Date" SortExpression="DiscountReviewDate" Visible="false"></asp:BoundColumn>
</Columns>
</asp:DataGrid
我正在使用此代碼隱藏某些項目:
if (!CurrentUser.IsInRole("Admin"))
{
btnDelete.Visible = false;
btnUpload2.Visible = false;
}
但是我不確定如何隱藏該列。 我無法在CSS中將Visible設置為false,因為它將對所有用戶隱藏該列。
你可以這樣
if (!CurrentUser.IsInRole("Admin"))
{
this.dgCustomers.Columns[2].Visible = false;
btnDelete.Visible = false;
btnUpload2.Visible = false;
}
使它在aspx頁面上顯示為true,例如:
<asp:BoundColumn visible="true" DataField="RevToDate" HeaderText="Rev To Date (Net)" SortExpression="RevToDate"></asp:BoundColumn>
然后從代碼使其不可見:
if (!CurrentUser.IsInRole("Admin"))
{
this.gdCustomers.Columns[2].Visible = false;
btnDelete.Visible = false;
btnUpload2.Visible = false;
}
其中2是gridview中的列索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.