Ah, man kan ju inte göra en ny row när man redan har en... så här enkelt var det:
dt.Rows[i][test1] = "test1";
dt.Rows[i][test2] = "test2";
2 svar · 336 visningar · startad av inspiro
Har en datatable med innehåll där jag vill lägga till två kolumner och innehåll i de kolumnerna för varje rad. Men det verkar bli en evighetsloop, vad har jag gjort för fel?
DataColumn test1= new DataColumn("test1");
dt.Columns.Add(test1);
DataColumn test2= new DataColumn("test2");
dt.Columns.Add(test2);
for (int i = 0; i < dt.Rows.Count; i++) {
DataRow row = dt.NewRow();
row["test1"] = "a";
row["test2"] = "b";
dt.Rows.Add(row);
}
Ah, man kan ju inte göra en ny row när man redan har en... så här enkelt var det:
dt.Rows[i][test1] = "test1";
dt.Rows[i][test2] = "test2";
Felet är att du skapar och lägger till en ny rad till tabellen i varje loopvarv, vilket i samband med en icke rekommenderad for-villkorssats gör att det blir en evig loop. Det du vill åstadkomma är väl...
int rowcount=dt.Rows.Count
DataRow row;
for (int i = 0; i < rowcount; i++) {
row=dt.Rows[i];
row["test1"] = "a";
row["test2"] = "b";
}
eller
foreach (DataRow row in dt.Rows){
row["test1"] = "a";
row["test2"] = "b";
}