使用Gridview DataField隐藏GridView列

时间:2013-11-04 19:15:07

标签: c# telerik-grid

我有一个gridview,我想使用gridview的数据字段隐藏一些列。我的意思是 我通常使用GridView1.Columns [0] .Visible = false;它的工作原理。但对于大网格视图来说,它很复杂。有没有办法使用DataField进行asp.net gridview。下面是telerik radgrid的方法。

RadGrid.MasterTableView.GetColumn("ID").Visible = false; ("ID" --> datafield of grid)

1 个答案:

答案 0 :(得分:1)

修改了更新的问题

在ASP.NET GridView中:

private int GetColumnIndexByName(GridView grid, string name)
{
    foreach (DataControlField col in grid.Columns)
    {
        if (col.HeaderText.ToLower().Trim() == name.ToLower().Trim())
        {
            return grid.Columns.IndexOf(col);
        }
    }

    return -1;
}

然后使用该辅助函数设置您的可见性:

int column = GetColumnIndexByName(GridView1, "ID")
if ( column != -1 )
{
    GridView1.Columns[0].Visible = false
}

来源:https://stackoverflow.com/a/3925334/1674958

在Telerik RadGrid中

服务器端:

protected void gvCktMap_PreRender(object sender, EventArgs e) 
{ 
    gvCktMap.MasterTableView.GetColumn("sid").Visible = false;  
    gvCktMap.MasterTableView.GetColumn("customername").Visible = false; 
    gvCktMap.MasterTableView.GetColumn("marketname").Visible = false; 
    gvCktMap.Rebind(); 
} 

来源:http://www.telerik.com/community/forums/aspnet-ajax/grid/how-to-hide-columns-in-radgrid.aspx

客户端:

<script type="text/javascript" language="javascript"> 
function Button1_Click() 
{ 
    var radGrid = $find('<%= RadGrid1.ClientID %>'); 
    var table = radGrid.get_masterTableView(); 
    var column = table.getColumnByUniqueName("cbDiscontinued"); 
    table.hideColumn(column.get_element().cellIndex); 
} 

来源:http://www.telerik.com/community/forums/aspnet-ajax/chart/how-can-i-hide-unhide-columns-in-rad-grid.aspx