asp.net(C#)获取GridView列总数

我在页面的GridView动态添加不同的表数据,不同的表列数不同,如何动态从GridView中获取列总数。
提示:this.GridView1.Columns.Count不行,取到值的=0,请高手指点。谢谢!
最新回答
指尖落樱舞

2024-10-31 09:43:39

你是在什么时候取的值?那个语句是没有错的,可以取到列数的,为零说明你取值的时候,GRIDVIEW并没有绑定完成,正在绑定中,你可以在GRIDVIEW的RowDataBound事件中加上 ClientScript.RegisterClientScriptBlock(this.GetType(), "test", "<script>alert('" + this.GridView1.Columns.Count.ToString() + "')</script>");
测试,可以弹出列的值
追问
详细过程如下:我是从工具箱拖了一个GridView控件放在页面,而后通过页面的读取数据按钮,动态读取的excel的数据到GridView控件。读取结束后我想获取GridView的数据列数,结果用this.GridView1.Columns.Count读取为零。怎样才能读取到呢?
追答
是这样的?没试过从EXCEL中读取数据,但是你把GRIDVIEW的自动生成列勾上试过没有?如果已经勾上了还是为零,那么你在后台代码生成列试一下?比如    
for (int i = 0; i < dt.Columns.Count; i++)
{
BoundField bc = new BoundField();
bc.DataField = dt.Columns[i].ColumnName.ToString();
bc.HeaderText = dt.Columns[i].Caption.ToString();
gridview1.Columns.Add(bc);
}
gridview1.DataBind();试一下
我这个是以DATATABLE为参照,你可以换成相应的while(READER.next()){bc=reader.get....}什么的
我们的过去只是以往

2024-10-31 10:15:50

GV绑定数据以后在 this.GridView1.DataBind(); this.GridView1.Columns.Count 在看看
听萧与声

2024-10-31 08:45:55

MessageBox.Show(this.dataGridView1.Columns.Count+"");
↘琪子

2024-10-31 11:51:07

能获取到啊。。你是在绑定之后获取的吗 ⊙﹏⊙b汗
任凭阻碍

2024-10-31 08:17:09

this.rows.count就可以