【发布时间】:2015-08-18 21:11:09
【问题描述】:
我需要为任何非管理员用户隐藏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,因为它会对所有用户隐藏该列。
【问题讨论】:
-
你不能用 CSS 做的充分理由不是你提到的......如果你用 CSS 做,所有用户都有 HTML 中的信息,它根本不显示什么时候页面被渲染,所以基本上所有用户都可以访问信息,这就是问题所在......
标签: c# css asp.net visual-studio datagrid