隐藏多个 Gridview 行
Hide Multiple Gridview rows
我有一个数据绑定网格,其中自动生成的列设置为 true,因为它使用 sql 数据源和存储过程。我找到了一种隐藏一列的方法
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[1].Visible = false;
}
我想完全隐藏整个栏目
但是如何隐藏多列。假设我有 10 列并想使用 :
隐藏第 2、5 和 7 列
e.Row.Cells[1].Visible = false
e.Row.Cells[4].Visible = false
e.Row.Cells[6].Visible = false
我会得到一个超出范围的异常。有其他方法可以处理这个问题吗?
提前致谢
您可以在 button_click
事件或 gridview
的 OnDataBound
事件中写入下一行,这发生在绑定 GridView
时。
protected void GridView_OnDataBound(object sender, EventArgs e)
{
GridView.Columns[1].Visible = false;
GridView.Columns[4].Visible = false;
GridView.Columns[6].Visible = false;
}
编辑
对于 autogenerated
列,请在 gridview
的 OnRowDataBound
事件中使用此代码
protected void gridView_OnRowDataBound (object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.Pager) { e.Row.Cells[1].Visible = false; }
}
你能试试吗<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
并在需要时使用临时字段
<asp:TemplateField>
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.ID_Dodavatel") %>
</ItemTemplate>
</asp:TemplateField>
我有一个数据绑定网格,其中自动生成的列设置为 true,因为它使用 sql 数据源和存储过程。我找到了一种隐藏一列的方法
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[1].Visible = false;
}
我想完全隐藏整个栏目
但是如何隐藏多列。假设我有 10 列并想使用 :
隐藏第 2、5 和 7 列 e.Row.Cells[1].Visible = false
e.Row.Cells[4].Visible = false
e.Row.Cells[6].Visible = false
我会得到一个超出范围的异常。有其他方法可以处理这个问题吗?
提前致谢
您可以在 button_click
事件或 gridview
的 OnDataBound
事件中写入下一行,这发生在绑定 GridView
时。
protected void GridView_OnDataBound(object sender, EventArgs e)
{
GridView.Columns[1].Visible = false;
GridView.Columns[4].Visible = false;
GridView.Columns[6].Visible = false;
}
编辑
对于 autogenerated
列,请在 gridview
OnRowDataBound
事件中使用此代码
protected void gridView_OnRowDataBound (object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.Pager) { e.Row.Cells[1].Visible = false; }
}
你能试试吗<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
并在需要时使用临时字段
<asp:TemplateField>
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.ID_Dodavatel") %>
</ItemTemplate>
</asp:TemplateField>