Um allerdings einen echten Mehrwert gegenüber dem ListIconGadget zu haben, sollte es auf lange Sicht z.B. auch die Möglichkeit geben, die Formatierung von Zellen (Event: CellFormatting) angeben zu können.
Des weiteren fülle ich ein DataGridView nie Zeile für Zeile, sondern koppel dessen DataSource an eine DataTable. Das geht wesentlich schneller und ich brauche mich auch nicht um die Spalten zu kümmern, da sie automatisch angelegt werden.
Falls Du da Hintergrund-Infos benötigst, kannst Du Dich gerne melden.
Kiffi hat geschrieben:Um allerdings einen echten Mehrwert gegenüber dem ListIconGadget zu haben, sollte es auf lange Sicht z.B. auch die Möglichkeit geben, die Formatierung von Zellen (Event: CellFormatting) angeben zu können.
Ja, das ist eine gute Idee. Ich muss nur schauen, wie ich das automatisieren kann bzw. was für Varianten (z.B. Datumskonvertierung, automatisches Einfärben, ...) ich bereitstellen kann.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
myDataTable = New DataTable
myDataTable.Columns.Add("Col1", System.Type.GetType("System.String"))
myDataTable.Columns.Add("Col2", System.Type.GetType("System.String"))
myDataTable.Columns.Add("Col3", System.Type.GetType("System.String"))
For Counter = 0 To 100
Dim newRow As DataRow = myDataTable.NewRow
newRow.Item("Col1") = "Value1 " & Counter
newRow.Item("Col2") = "Value2 " & Counter
newRow.Item("Col3") = "Value3 " & Counter
myDataTable.Rows.Add(newRow)
Next
myDataGridView.DataSource = myDataTable
Die DataTable hat primär erst einmal keinen Bezug zu den Datenbanken. Sie kann allerdings mittels eines DataAdapters (der dann wiederum an eine Datenbank gekoppelt wird) befüllt werden.
Es ist vielleicht überlegenswert, ob man den ganzen Data-Krams in eine eigene DLL auslagert, die dann parallel zur DataGridView-DLL verwendet werden kann.
Kiffi hat geschrieben:Es ist vielleicht überlegenswert, ob man den ganzen Data-Krams in eine eigene DLL auslagert, die dann parallel zur DataGridView-DLL verwendet werden kann.
Das hätte ich eigentlich auch vorgeschlagen, aber dann wüsste ich nicht, wie ich das C#-DataTable-Objekt mit allen von dir erstellten Daten von einer DLL in eine andere DLL übergeben kann, ohne selber einen Konverter-Passing-Methode zu schreiben. Handle eines Objektes übergeben und Speicherbereich kopieren geht in C# soweit ich weiß nicht.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
myDataTable = New DataTable
myDataTable.Columns.Add("Col1", System.Type.GetType("System.String"))
myDataTable.Columns.Add("Col2", System.Type.GetType("System.String"))
myDataTable.Columns.Add("Col3", System.Type.GetType("System.String"))
For Counter = 0 To 100
Dim newRow As DataRow = myDataTable.NewRow
newRow.Item("Col1") = "Value1 " & Counter
newRow.Item("Col2") = "Value2 " & Counter
newRow.Item("Col3") = "Value3 " & Counter
myDataTable.Rows.Add(newRow)
Next
myDataGridView.DataSource = myDataTable
Was ist der Unterschied oder Vorteil wen man zuerst in dieses Datatable erstellt und dann an Datagridview ? Warum nicht direkt ins Gadget ? Ins Datatable füllst du auch Zeile für Zeile...
es ist grundsätzlich doch möglich, DataTable in einer separaten DLL-Datei zu erstellen und diese an PB.Ex GridGadget als Speicheradresse zu übergeben. Dann kann man auch DataTables ohne GridGadget erstellen und mit einer Methode als XML exportieren und importieren. Aber leider kann ich beim GridGadget nicht einfach die Speicheradresse mit Property "DataSource" verknüpfen, sondern ich muss in der Ziel-Instanz eine eigene DataTable mit dem Inhalt aus der Speicheradresse neu erstellen und diese neu erstellte DataTable kann ich mit DataSource binden.
Du wolltest bestimmt eine direkte Bindung zwischen DataTable und GridGadget haben oder? So müsste man jegliche Änderung dem PB.Ex GridGadget mitteilen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.