譬如说我的一个gridview绑定了三列。然后在程序中需要手动删除一列
GridView.Columns.RemoveAt(0);
此时trace一下代码,的确GridView.Columns.Count=2。
但是,为什么GridView.Rows[0].Cells.Count还是等于3???
我想要的结果是2,如何得到?谢谢!

解决方案 »

  1.   

    你可以吧数据源的datatable删除一列然后重新绑定
      

  2.   

    这样子不行,因为我的GridView.Columns.RemoveAt(0); 这段代码在一个button的click事件中,此时之前已经确定数据源,数据源的select里面是要根据一个dropdownlist来确定的,而dropdownlist的autopostback是false。所以在这个click事件中无法重新绑定,不知道我有没有解释明白。
    我是想知道,为什么明明已经删除了一列,为什么GridView.Rows[0].Cells.Count还是等于3。前台绑定了三列,难道一直只能是3吗,如何改变?因为我后面一个导出gridview到excel的函数里有gridviewrow.cells。现在的问题就是删除一列了,它还是导出那一列,原因就是gridviewrow.cells没有变化,请指教,谢谢。
      

  3.   

    谢谢,我已经明白了,刚学.net两个月,以后还请多指教。
      

  4.   

    你删除的是 数据库表列 还是 gridview 列 哦 ??
    要是数据库表列 那么从新 databind()