Fügen Sie neue Zeilen in einer DataTable programmgesteuert C#
Ich habe eine DataTable, die ich füllen Sie es aus der Datenbank und die in der code-behind-ich versuche, fügen Sie 3 Zeilen mehr nach jeder Zeile. Unten ist der code. Aber in der 6. Zeile bekomme ich Exception of type 'System.OutOfMemoryException " wurde ausgelöst.
for (int i = 0; i < AlldaysList.Rows.Count; i++)
{
DataRow row;
row = AlldaysList.NewRow();
DataRow row1;
row1 = AlldaysList.NewRow();
DataRow row2;
row2 = AlldaysList.NewRow();
//Then add the new row to the collection.
row["scenarionid"] = DBNull.Value;
row["description"] = "";
row1["scenarionid"] = DBNull.Value;
row1["description"] = "";
row2["scenarionid"] = DBNull.Value;
row2["description"] = "";
AlldaysList.Rows.InsertAt(row, i + 1);
AlldaysList.Rows.InsertAt(row1, i + 2);
AlldaysList.Rows.InsertAt(row2, i + 3);
i++;
}
Jede Hilfe pls?
warum u tun i++ am Ende der for-Schleife ??
for (int i = 0; i < AlldaysList.Zeilen.Count; i++).... ändern Sie dazu zu for (int i = 0; i < AlldaysList.Zeilen.Count + 2; i++)..
for (int i = 0; i < AlldaysList.Zeilen.Count; i++).... ändern Sie dazu zu for (int i = 0; i < AlldaysList.Zeilen.Count + 2; i++)..
InformationsquelleAutor user1292656 | 2013-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
ich denke, u sollte eine variable namens int rowCount = AlldaysList.Zeilen.Zählen; vor der Schleife..
Der Grund, warum ich das sage ist, weil, wenn u fügen Sie 3 Zeilen innerhalb der Schleife ur AlldaysList.Zeilen.Anzahl ändert sich von +3 und u r die Ausrichtung auf eine dynamische variable anstelle eines statischen ein-und so geht es in die Schleife wieder und führt zu einer Ausnahme..
InformationsquelleAutor user1974729
Ich denke, Sie sollten etwas wie das hier tun:
Da die Liste der Reihen wird erhöht, müssen Sie notieren Sie sich die Zeilenanzahl vor starten Sie das hinzufügen von Zeilen. Auch das einfügen von Standorten werden zunehmend durch 4, daher
i * 4 + j
.InformationsquelleAutor JLRishe
Generalisierte version des Codes, können Sie jede beliebige Anzahl von Zeilen ändern Sie einfach den Wert der variable RowsToAdd. Sie dn nicht brauchen, Kiste drei DataRow-variable(Zeile,row1,row2)...
InformationsquelleAutor SUHAIL AG