隐藏DataGrid中的列

时间:2014-11-10 14:31:47

标签: c# asp.net datagrid sharepoint-2007 .net-2.0

我正在制作一个SharePoint Web部件,我在其中使用System.Web.UI.WebControls.DataGrid控件。将Web部件视为您在Net中开发的一些组件。

其AutoGenerateColumns属性设置为TRUE。

我试图在运行时隐藏列。我已经在这个控件ItemCreated事件上编写了以下代码,但它只有在我e.Item.Cells [0]时才有效,并且它不适用于任何其他值,例如: e.Item.Cells [1]和e.Item.Cells [6]。

我的DataGrid控件中有9列。

代码

protected void grd1_ItemCreated(object sender, DataGridItemEventArgs e)
{
      e.Item.Cells[0].Visible = false; //works fine
      e.Item.Cells[1].Visible = false; //gives error
      e.Item.Cells[2].Visible = false; //gives error
}

错误

Specified argument was out of the range of valid values.
Parameter name: index 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

如何隐藏特定列?

1 个答案:

答案 0 :(得分:0)

试试这个

 <asp:DataGrid ID="dgShowTiming"
              runat="server" OnItemCreated="dgShowTiming_OnItemCreated"
              AutoGenerateColumns="false">


protected void dgShowTiming_OnItemCreated(object sender, DataGridItemEventArgs e)
    {
        MyDataGrid.Columns[0].Visible = false;
            //  0=represents your first column

    }

您可以使用visible= true,false及其设置索引

来制作Columns[index]