在PreRenderRadGrid 事件中使用下面的代码 sn-p 来隐藏列
ASPX
<telerik:radgrid id="RadGrid1" runat="server" OnPreRender="RadGrid1_PreRender">
<Columns>
<telerik:GridButtonColumn UniqueName="btn_column"></telerik:GridButtonColumn>
</Columns>
</telerik:RadGrid>
CS
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
rgCards.MasterTableView.GetColumn("btn_column").Visible = false; // set this based on your 'view state variable = some value'
{
或者,您可以使用OnItemDataBound RadGrid 事件(在项目数据绑定到 RadGrid 控件后触发)来显示/隐藏每一行。
ASPX
<telerik:radgrid id="RadGrid1" runat="server" OnItemDataBound="RadGrid1_ItemDataBound">
CS
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
item["btn_column"].Visible = false; // set this based on your 'view state variable = some value'
}
}
此外,OnItemCreated 事件(在创建 RadGrid 控件中的项目时在服务器上触发)也可以用来实现类似的结果。
请参阅 Telerik RadGrid 文档以了解深入的功能 - RadGrid Overview