Gebundene DataGridView auf TabPage - ausgeblendete Spalte erscheint

24/11/2008 - 10:02 von romiller66 | Report spam
Hallo,

ein eigenartiges Verhalten tritt bei folgender Konstellation auf:

Entwurfszeit an eine DataView gebunden


Verhalten:

Nach dem Starten der Anwendung ist das DataGridView nicht sichtbar, da
es ja auf TabPage 2 liegt. Jetzt àndere ich zur Laufzeit mittels Code
die DataSource-Eigenschaft der BindingSource die an das DataGridView
gebunden ist. Mache ich dann durch Klick auf die TabPage 2 das
DataGridView sichtbar sind die Daten ordnungsgemàß gebunden nur
erscheint plötzlich die ID-Spalte die ich ja in der Entwurfsansicht
ausgeblendet habe.
Schalte ich dagegen vor dem codeseitigen binden mal kurz auf die
TabPage 2, so funktioniert es.

An was kann denn das liegen? Hat jemand das gleiche Problem?

Danke.
 

Lesen sie die antworten

#1 Peter Götz
24/11/2008 - 15:05 | Warnen spam
Hallo ?,

ein eigenartiges Verhalten tritt bei folgender Konstellation auf:

zur Entwurfszeit an eine DataView gebunden



Damit zeigt bei
DataGridView.AutoGenerateColumns = True
das DGV erst mal alle Felder / Spalten an.

(Visible=False)



Nun ist die Spalte ID nicht mehr sichtbar

Verhalten:

Nach dem Starten der Anwendung ist das DataGridView
nicht sichtbar, da es ja auf TabPage 2 liegt. Jetzt àndere
ich zur Laufzeit mittels Code die DataSource-Eigenschaft
der BindingSource die an das DataGridView gebunden
ist.



Wie ist dabei

DataGridView.AutoGenerateColumns

eingestellt? Bei DataGridView.AutoGenerateColumns = True
werden nun wieder alle Spalten der neuen DataSource im
Grid sichtbar.

Mache ich dann durch Klick auf die TabPage 2 das
DataGridView sichtbar sind die Daten ordnungsgemàß
gebunden nur erscheint plötzlich die ID-Spalte die ich
ja in der Entwurfsansicht ausgeblendet habe.
Schalte ich dagegen vor dem codeseitigen binden mal
kurz auf die TabPage 2, so funktioniert es.



Ohne Deinen konkreten Code zu kennen, ist schwer
nachzuvollziehen, wann Du die DataSource für das
Grid ànderst und wann und wo Du jeweils die Spalte ID
ausblendest.

An was kann denn das liegen?



Mit dem Ändern der DataSource werden bei

DataGridView.AutoGenerateColumns = True

wieder alle der neuen DataSource entsprechenden
Spalten sichtbar. Das dürfte mit hoher Wahrscheinlichkeit
Dein Problem sein.
Nach dem erneuten Zuweisen einer DataSource also
die Spalte ID wieder ausblenden.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen