Laden...

DataColumn in DataGridViewColumn konvertieren

Erstellt von Lydia vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.884 Views
L
Lydia Themenstarter:in
15 Beiträge seit 2010
vor 12 Jahren
DataColumn in DataGridViewColumn konvertieren

Hallo an alle,

ich möchte die Spalten eines DataGridViews auf den Modus "Not Sortable" stellen!

Für die Spaltengenerierung verwende ich einen DataTable, den ich mit einem Binding an das DataGridView binde. Dem DataTable füge ich anschliessend Reihen und Spalten an (dynamisch).

Möchte ich nach dem Aufbau des DataTable die einzelnen Spalten in den gewünschten Modus setzen, dann funktioniert das nur, wenn ich die einzelnen Spalten des DataTable in eine "DataGridViewTextBoxColumn" konvertieren könnte, was aber nicht funktioniert.

Kann mir jemand einen Rat geben, wie ich die Spalten des DataTable in Spalten eines DataGridView konvertieren kann oder wie ich es einfach anstellen könnte, das man gar nicht auf die Spalten zugreifen kann!

Ich hab schon viel recherchiert, komme aber an dieser Stelle einfach nicht weiter!

Vielen Dank im Voraus!!!

F
84 Beiträge seit 2008
vor 12 Jahren

Moin,

hab ich richtig verstanden, dass nur verhindert werden soll das der Benutzer die Spalten sortiert?

L
Lydia Themenstarter:in
15 Beiträge seit 2010
vor 12 Jahren

also, es geht nicht um diese "AllowUsertoOrderColumns"- Geschichte....

sondern ich meine eher den Zugriff auf Folgendes:

DataGridViewTextBoxColumn clm = (DataGridViewTextBoxColumn)dataGridView.Columns[index];
clm.SortMode = DataGridViewColumnSortMode.NotSortable;

Meine Dolumns sind aber DataColumns und ich kann diese nicht in DataGridViewTextBoxColumns konvertieren... das ist das Probelm.... :S

771 Beiträge seit 2009
vor 12 Jahren

Hi Lydia,

jede DataGridViewColumn hat doch die Eigenschaft 'SortMode' (und nicht nur eine DataGridViewTextBoxColumn), also


DataGridViewColumn clm = dataGridView.Columns[index];
clm.SortMode = DataGridViewColumnSortMode.NotSortable;

L
Lydia Themenstarter:in
15 Beiträge seit 2010
vor 12 Jahren

Das ist richtig.... aber wie komme ich von einer normalen DataColumn auf eine DataGridView...Column?

Mein Problem ist ja, dass wenn ich die Spalten des DataGridView abfragen möchte, es keine gibt. Diese sind alle dem DataTable hinzugefügt worden...

Ich dachte, dass ich durch den DataBind des Table an das GridView vom GridView wieder auf meine DataColumns zugreifen kann... Das geht aber leider nicht.

Mach ich viell. etwas mit dem DataBind falsch?

Ich möchte einfach nur: DataColumn der DataTable in eine DataGridView...Column konvertieren, damit ich die Methoden verwenden kann...

F
84 Beiträge seit 2008
vor 12 Jahren

Das ist richtig.... aber wie komme ich von einer normalen DataColumn auf eine DataGridView...Column? [...]

Hilft dir auch kein einfacher Cast?


DataGridViewColumn MyDataGridViewCol = (DataGridViewColumn)MyDataTable.Rows[0][0];

L
Lydia Themenstarter:in
15 Beiträge seit 2010
vor 12 Jahren

leider nein ..... der reicht nicht...

L
Lydia Themenstarter:in
15 Beiträge seit 2010
vor 12 Jahren

Mensch, sorry fod, das mit dem
DataGridViewColumn MyDataGridViewCol = (DataGridViewColumn)MyDataTable.Rows[0][0];

das funktioniert.... da war ich wohl zu voreilig gestern mit meinem Urteil! Tut ir leid!!

1000 Dank für den Tip und vielen Dank an alle!!!!

Liebe Grüße, Lydia

F
10.010 Beiträge seit 2004
vor 12 Jahren

Wenn MyDataTable tatsächlich eine DataTable ist kann diese Konvertierung nicht gehen.
Du musst natürlich durch die Columnsauflistung des DGV gehen, nicht durch die Data
Table.