C# 为什么GridView的列计数为0
朋友们,我正在使用下面的代码在我的asp.net应用程序中填充GridViewC# 为什么GridView的列计数为0,c#,asp.net,gridview,C#,Asp.net,Gridview,朋友们,我正在使用下面的代码在我的asp.net应用程序中填充GridView GridView grdExport = new GridView(); DataSet dsRecord = objHelper.gReturnDataSet(CommandType.Text, strSql); grdExport.DataSource = dsRecord.Tables[0]; grdExport.DataBind(); 现在问题出现在即时窗口中,当我检查时,
GridView grdExport = new GridView();
DataSet dsRecord = objHelper.gReturnDataSet(CommandType.Text, strSql);
grdExport.DataSource = dsRecord.Tables[0];
grdExport.DataBind();
现在问题出现在即时窗口中,当我检查时,我得到以下结果:
?dsRecord.Tables[0].Columns.Count
16
?dsRecord.Tables[0].Rows.Count
37
?grdExport.Rows.Count
37
?grdExport.Columns.Count
0
请告诉我为什么grdExport的列计数为0?它显示
counts=0
,因为默认情况下,如果添加手动列,则自动生成的列为true,它将显示列计数如果写入
grdExport.AutoGenerateColumns=false
;然后在页面中不会呈现任何列。它显示计数=0
,因为默认情况下,如果添加手动列,则自动生成的列为true,然后它将显示列计数如果写入
grdExport.AutoGenerateColumns=false
;那么页面中将不会呈现任何列。而是?grdExport.columns.Count。此计数是在设计时在gridview中添加列集合时获得的。
你必须使用
改为grdExport.Rows[0]。Cells.Count?grdExport.Columns.Count。此计数是在设计时在gridview中添加列集合时获得的。 你必须使用
grdExport.Rows[0].Cells.Count将在绑定数据后设置GridViewColumn列。因此,只需显示一个
MessageBox.show
即可找到列计数
grdExport.AutoGenerateColumns = false;
MessageBox.Show(grdExport.Columns.Count.ToString());
绑定数据后将设置GridViewColumn列。因此,只需显示一个
MessageBox.show
即可找到列计数
grdExport.AutoGenerateColumns = false;
MessageBox.Show(grdExport.Columns.Count.ToString());
选中此项:
Columns属性(集合)用于显式存储所有
在GridView控件中呈现的声明列字段。你
还可以使用Columns集合以编程方式管理
列字段的集合
如果您在网格中添加的列中有更多列,那么它将显示您添加的列的计数,而不是自动生成的列
如果显示自动生成的列,则它将显示0。
选中此标记:
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
</Columns>
</asp:GridView>
将列添加到gridview后
?GridView1.Columns.Count
1
选中此项:
Columns属性(集合)用于显式存储所有
在GridView控件中呈现的声明列字段。你
还可以使用Columns集合以编程方式管理
列字段的集合
如果您在网格中添加的列中有更多列,那么它将显示您添加的列的计数,而不是自动生成的列
如果显示自动生成的列,则它将显示0。
选中此标记:
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
</Columns>
</asp:GridView>
将列添加到gridview后
?GridView1.Columns.Count
1
可能是因为您没有在页面上放置gridView?
像这样:占位符1.Controls.Add(grdExport)可能是因为您没有在页面上放置gridView?
如下所示:placeholder 1.Controls.Add(grdExport)自动生成的绑定列字段不会添加到Columns集合中。如果需要计数,它将与分配的源表相同,16@V4Vendetta谢谢。我不知道..为GridView设置AutogeneratedColumns=true自动生成的绑定列字段不会添加到Columns集合中。如果需要计数,它将与分配的源表相同,16@V4Vendetta谢谢。我不知道..为GridView设置autogeneatedcolumns=true您的解决方案有助于获取行中的数据,而不是标题中的数据。无论如何,谢谢。标题“HeaderRow.Cells.Count”就在这里。您的解决方案有助于获取行中的数据,而不是标题中的数据。不管怎样,谢谢。标题“HeaderRow.Cells.Count”就在这里。