Laden...

DataTable in foreach-Schleife ändern

Erstellt von Mr. Jack vor 14 Jahren Letzter Beitrag vor 14 Jahren 5.092 Views
M
Mr. Jack Themenstarter:in
38 Beiträge seit 2009
vor 14 Jahren
DataTable in foreach-Schleife ändern

Hi,

ich habe folgendes Problem und zwar möchte ich gerne meine DataTable durchgehen mittels einer foreach schleife und in jeder Reihe den Wert in der Spalte "xyz" ändern. Allerdings updates, ers irgendwie nicht. Ich kenn mich absolut nicht mit DataTables aus und wollte mal fragen wie man das realisieren könnte.


foreach (DataRow row in col.GetDataTable().Rows)
{
      row["xyz"] = "new value";
}

Z
520 Beiträge seit 2007
vor 14 Jahren

also bei mir geht das in der art:


 foreach (DataRow row in dt.Rows) {
        row("spalte") = "aaaa";
    }

col ist dein dataset?

M
Mr. Jack Themenstarter:in
38 Beiträge seit 2009
vor 14 Jahren

SPListItemCollection col = liste.GetItems(query);
col.GetDataTable()

col is eine Collection, welche bestimmte Items einer Query bekommt.
Am schluss bin ich die DataTable der Collection einfach an ein Grid..


uwGrid.DataSource = col.GetDataTable();
uwGrid.DataBind();

Das funktioniert alles soweit, jetzt möchte ich aber bei jeder Row in der einen Spalte eine Verlinkung vornehmen, sprich den Wert auf <a href= etc. ändern.
Allerdings kann ich bei der DataTable diesen Wert nicht updaten...

M
Mr. Jack Themenstarter:in
38 Beiträge seit 2009
vor 14 Jahren

for (int i = 0; i < col.GetDataTable().Rows.Count; i++)
       col.GetDataTable().Rows[i]["LinkFeld"] = "test";

mit der schleife funktioniert es genauso nicht 😛

F
10.010 Beiträge seit 2004
vor 14 Jahren

GetDataTable() liefert dir wahrscheinlich immer eine neue DT.

M
Mr. Jack Themenstarter:in
38 Beiträge seit 2009
vor 14 Jahren

Jup danke, bin da gestern auch draufgekommen -.-
Hab einmal getDataTable() gemacht in eine Variable gespeichert und diese nachher verändert und zugwiesen...

Danke!