DataTable
-
Hallo Leute,
besteht eine Möglichkeit den Columnheader von einem DataTable zur Laufzeit zu ändern. Wenn ja könnte Ihr mir auch einen Tipp geben wie es gehen soll.
Info zum Programm: Ich habe zwei DataTable die durch ein Relation in einem DataSet verbunden sind. Die Datatable werden auf der GUI in Form eines DataGridView angezeigt. Nun möchte ich gerne eine Sprachumschaltung einbauen. Aus diesem Grund sollen dadurch die Columnheader entsprechend der Sprache angezeigt werden.
Definition der Spalten:String^ strProduktID = "Produkt"; DataColumn^ objProduktID = gcnew DataColumn(); objProduktID->ColumnName = strProduktID; objProduktID->ReadOnly = true; objProduktID->Unique = false; objProduktID->DataType = System::Type::GetType("System.String"); // Zeile zum DataTable hinzufügen dsNDaten->Tables["NDaten"]->Columns->Add(objProduktID);
-
Geht das auch über die GUI direkt, anstatt etwas mit einer DataColumn zu machen?
-
OK das ist eine gute Möglichkeit, bin ich nicht darauf gekommen. Aber mir wäre es halt andersrum lieber, da das DataGridView mit der Table Datengebunden ist und ich eigentlich nur Änderungen am DataTable machen würde.
MfG
Hotte
-
Eine DataTable enthält DataColumns, diese haben wiederum die Eigenschaft Caption.
-
Hallo witte,
erstmal Danke für den Tipp, aber irgendwie habe ich Umsetzprobleme. Vielleicht kann man ja weiter helfen.
Für das DataGridView habe ich folgende Zeile hinzugefügt, damit die Caption Eigenschaft übernommen werden kann.DataGridView1->AutoGenerateColumns = false;
Jetzt wird keine Überschriften im DataGridView angezeigt. Möchte ich nun die Überschriften einfügen hab ich ein Problem, dass keine ColumnHeader vorhanden sind. Obwohl ich die DatenTabllen eingebunden habe.
MessageBox::Show(DataGridView1->ColumnCount.ToString()); //Ergebnis = 0;
Wo liegt mein Denkfehler?
MfG
Hotte