我正在制作一个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.
如何隐藏特定列?
答案 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]