this.gridView.DataSourceId="ObjectDataSource1";
this.gridView.DataBind();由于ObjectDataSource1所返回的TAble的列是不固定的
然后返回到GridView我想把用户不关心的ID列隐藏掉该如何实现?
我试了this.gridView.Columns[3].Visiable=fakse;
可是这个时候this.gridView的列数竟然是0列
请问该如何实现?

解决方案 »

  1.   

    protected void xxx_RowDataBound(object sender, GridViewRowEventArgs e)
        {
                e.Row.Cells[e.Row.Cells.Count - 3].Visible = false;
                e.Row.Cells[2].Visible = false;    }
      

  2.   

    一般来说,不太建议用默认的AutoGenerateColumns为True如果实在要用,又想隐藏某列,那只能:
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header )
            {
                e.Row.Cells[3].Visible = false;
            }
        }