4

我有DataTable我使用 SQL 查询填写的。然后我GridViewDataTable.

DataTable table = new DataTable();
table.Load(reader);
gvAktivne.DataSource = table;
gvAktivne.DataBind();

这工作正常,但现在我想隐藏第一列。当我添加这个:

gvAktivne.Columns[0].Visible = false;

我得到一个IndexOutOfRange例外。有人知道如何解决这个问题吗?

4

3 回答 3

6

这可能对您有用:

DataTable data;
data.Columns[0].ColumnMapping = MappingType.Hidden;
于 2015-07-08T02:07:42.327 回答
1

根据问题陈述,您似乎已AutoGenerateColumns设置为true. 当您想要隐藏列时,这将是一个问题。您需要确保在之后发出那行代码DataBind(),我会在OnPreRender.

protected override void OnPreRender(EventArgs e)
{
    base.OnPreRender(e);
    gvAktivne.Columns[0].Visible = false;
}
于 2013-08-06T16:14:08.023 回答
0

尝试这个:

 protected void  GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
 {
      e.Row.Cells[0].Visible = false;
 }
于 2013-08-06T18:39:25.367 回答