in temporäre Spalte einer DataTable schreiben

08/04/2010 - 14:24 von Alexander Richter | Report spam
Hallo,
ich habe einer DataTable eine zusàtzliche Spalte "selected" als achte
Spalte temporàr hinzugefügt.

dataTable.Columns.Add("selected", Type.GetType("System.Boolean"));

Im DataGridView wird dieses Spalte auch angezeigt.
Nur das Setzen eines Wertes funktioniert nicht, d.h. wird nicht im
DataGridView angezeigt. Eine Fehlermeldung erscheint nicht.

dataTable.Rows[1].ItemArray[7] = true;

Was mache ich falsch?



Alexander
 

Lesen sie die antworten

#1 Elmar Boye
08/04/2010 - 14:38 | Warnen spam
Hallo Alexander,

"Alexander Richter" schrieb ...
ich habe einer DataTable eine zusàtzliche Spalte "selected" als achte
Spalte temporàr hinzugefügt.

dataTable.Columns.Add("selected", Type.GetType("System.Boolean"));

Im DataGridView wird dieses Spalte auch angezeigt.
Nur das Setzen eines Wertes funktioniert nicht, d.h. wird nicht im
DataGridView angezeigt. Eine Fehlermeldung erscheint nicht.



Die Werte für die neue Spalte sind zunàchst DBNull.Value.
Entweder aktivierst Du "ThreeState" für eine CheckBox
http://msdn.microsoft.com/de-de/lib...state.aspx

oder Du initialisierst alle bestehenden Zeilen mit false/true.

dataTable.Rows[1].ItemArray[7] = true;



bei der ItemArray Eigenschaft erhàlst Du eine Kopie der Werte als Array.
Ein Setzen dort wirkt sich nicht auf die DataRow aus.

Was mache ich falsch?



Verwende
dataTable.Rows[1][7] = true;
oder
dataTable.Rows[1]["selected"] = true;

Gruß Elmar

Ähnliche fragen