Laden...

1. Reihe der DataGridView wird nach unten gespüllt

Erstellt von DjBepy vor 13 Jahren Letzter Beitrag vor 13 Jahren 923 Views
D
DjBepy Themenstarter:in
209 Beiträge seit 2006
vor 13 Jahren
1. Reihe der DataGridView wird nach unten gespüllt

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*

1.029 Beiträge seit 2010
vor 13 Jahren

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

D
DjBepy Themenstarter:in
209 Beiträge seit 2006
vor 13 Jahren

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*