Ahoi zusammen 😃
Ich habe eine DataGridView mit vorgegeben Spalten. Wenn ich die Form aufrufe, wird diese je nach Status mit 1, 3 oder 4 Reihen befüllt.
Die erste Reihe gibt es irgendwie immer, selbst wenn ich
DataGridView.Rows.clear()
mache. Da stört im ersten Moment nicht, da die Basis der ersten Reihe ein Feld aus der DB ist, dass auf die Spalten aufgesplitet wird.
Die Reihen 2, 3 & 4 wiederrum rufe ich per DataTable einzeln aus der jeweiligen Tabelle der DB ab und übergebe die Row als ItemArray via
DataGridView.Rows.Add(DataTable.Rows[0].ItemArray)
.
Dabei passiert es jedoch, das diese Rows immer vor die Erste gespüllt werden. Sprich in der Reihefloge her kommt 2, 3, 4, 1. Jemand ne Idee wieso das so ist bzw. wie ich das ändern kann?
Ich habe auch schon versucht alles in eine DataTable zu schreiben & die dann via
DataGridView.DataSource = DataTable
zu binden, aber dann wird nur die eine erste Zeile mit den Standardwerten gefüllt angezeigt, mehr nicht.
Jemand ne Idee?
P.S. Ja, ich habe kontrolliert, ob die DataTable auch wirklich gefüllt ist.
*Machts gut und danke für den vielen Fisch*
Hi DjBepy,
zu Problem 1 - der ersten Reihe:
Kann es sein, dass du die Eigenschaft 'AllowUserToAddRows' auf true stehen hast ?
Generell:
Wenn dem so ist ist immer eine leere Standard-Row vorhanden, welche sinnvollerweise auch immer unten ist (erlaubt es dem User neue Werte zu erfassen)
Wenn das so nicht gewollt ist: Einfach ausstellen.
Wenn dem so gewollt ist verstehe ich das Problem leider nicht ganz 😛
Fakt ist: Die leere Row wird unter allen anderen bleiben 😉
Zum 2. Problem (DataTable)
Wenn du die Datenbindung über DataTable erledigst (was ich für sinnvoll halte)
und du schon Spalten im Designer definiert hast - musst du auch in diesen Spalten
die Eigenschaft "DataPropertyName" festlegen, welche sich auf "ColumnName" der
jeweiligen DataColumn in der DataTable bezieht.
Gruß
Achim
PS: Der DataGridView kann Spalten auch automatisch erzeugen - Eigenschaft:
'AutoGenerateColumns' - was bei manuell angelegten Spalten natürlich (erstmal)
aus ist... Versuch doch mal, ob es nicht auch vll mit AutoGenerateColumns geht
Danke für die Antwort, jetzt geht es 😃
Es lag an AllowUserToAddRows = true 😃 Das komische jedoch war, dass die letzte Spalte nie leer war 😉 Ich fülle die ja "per Hand" bevor ich die Rows der anderen DataTables hinzufüge & die gefüllte Zeile wurde dann nach unten verschoben. Das war ja das komische. Wenn die immer leer gewesen wäre, hätte ich mir da eher ein Reim drauf machen können 😉
*Machts gut und danke für den vielen Fisch*