Warum die Anzahl der Spalten ist 0 für GridView
Freunde, ich bin zuerst ein GridView in meine asp.net Anwendung mit dem folgenden code.
GridView grdExport = new GridView();
DataSet dsRecord = objHelper.gReturnDataSet(CommandType.Text, strSql);
grdExport.DataSource = dsRecord.Tables[0];
grdExport.DataBind();
Nun das problem ist im Direktfenster, wenn ich Kontrolle, ich bekomme Folgendes Ergebnis:
?dsRecord.Tables[0].Columns.Count
16
?dsRecord.Tables[0].Rows.Count
37
?grdExport.Rows.Count
37
?grdExport.Columns.Count
0
Bitte, kann mir jemand sagen, warum die Anzahl der Spalten ist 0 für grdExport?
- Automatisch generierte gebundene Spalte Felder sind nicht Hinzugefügt zu der Columns-Auflistung. Damit die Zählung auf null
- Wenn Sie möchten, dass der Graf es wäre dasselbe wie die Quell-Tabelle, die Sie zuweisen , 16
- vielen Dank. Ich wusste es nicht..
- set autogeneatedcolumns=true für das gridview
Du musst angemeldet sein, um einen Kommentar abzugeben.
GridView.Columns-Eigenschaft
Prüfen:
Wenn Sie mehr Spalten, um Ihren zusätzlichen Spalten in der grid dann wird sich zeigen, Anzahl der Spalten, die Sie Hinzugefügt haben, nicht die automatisch generierten Spalten.
Wenn Sie die Karte automatisch generierte Spalten, dann zeigt es 0 an.
Überprüfen Sie dieses markup:
Nun wird es Zeigen Sie Ihre Ergebnis-Spalten "count" um 1:
//Vor dem hinzufügen der Spalte gridview
Nach dem Hinzufügen einer Spalte zu gridview.
Es zeigt die
counts = 0
weil standardmäßig automatisch generierten Spalten ist wahr, Wenn Sie fügen Sie die manuelle Spalten, dann wird es zeigt die Spalte zählt.Wenn Sie schreiben
grdExport.AutoGenerateColumns = false
; dann werden keine Spalten würde gerenderte Seite.Sein mag, es ist, weil Sie nicht Platz gridView-Steuerelement auf die Seite?
wie diese:PlaceHolder1.Controls.Add(grdExport)
Statt ?grdExport.Spalten.Zählen. Diese Anzahl erhalten Sie, wenn Sie Spalten hinzufügen Sammlung im gridview-Steuerelements zur Entwurfszeit.
Sie haben zu verwenden
grdExport.Zeilen[0].Zellen.Graf
Ihre GridViewColumn Spalte wird nach Bindung Ihrer Daten. So zeigen Sie eine
MessageBox.Show
zu finden, die Anzahl der Spalten.