Scrollbar in DataGrid wird nicht angezeigt

JJB

Cogito ergo brumm
Tach !

Ich lade zu Laufzeit Daten in ein Datagrid. Nun sind die Spalten breiter als das Datagrid.
Es wird also eine Scrollbar eingeblendet. Soweit so gut ...
Nur ist diese ausgegraut als gäbe es nichts außerhalb des Sichtbereiches.

Erst wenn ich das Fenster größer oder kleiner mache (Datagrid verändert dadurch seine Größe), dann wird die Scrollbar aktiv und zeigt an, dass ich scrollen kann.

Wie kann ich der Scrollbar sagen, dass sie aktualisiert werden soll bzw. dass sie aktiv werden soll ?
Das Datagrid hat nicht mal das Attribut Scrollbar.

Bitte um Hilfe !

MFG JJB
 
Kann es jetzt auf die schnelle nicht verifizieren aber probier mal nach dem befüllen des Datagrid ein redraw oder repaint oder sowas.

Grüße
Speedkill
 
Hallo Monkey Island (find ich gut, dass das noch jemand kennt)

Der Hund liegt wo ganz anders begraben.

Wenn man ein Datagrid füllt, wird es ständig aktualisiert und neu gezeichnet. Wenn man jetzt 100 Einträge schnell nacheinander einfügt, gibt es immer wieder Grafikfehler beim Aufbau des Grids.
Die Folge: Die Scrollbar ist nicht aktuell oder gar eine Art Zombie.
Ich hatte einen Fall, da gab es insgesamt 4 Scrollbars im Fenster und gerade mal eine war überhaupt anzufassen, manchmal konnte man keine anfassen, es waren alles tote Bildschirmbereiche.

Um diesem Problem zu entgehen fügt man die Zeilen ein mit:

Code:
   MyDataGrid.SuspendLayout();
   aMainDataSetInstance.MyList.AddMyListRow(aColumn1Value, aColumn2Value);
   MyDataGrid.ResumeLayout();

So geht's flüssig und ohne Fehler.

Ich hatte zunächst versucht das this.SuspendLayout() zu benutzen, aber das hatte auf das Grid keinen Einfluss. Offenbar muss man explizit das Grid ansprechen.

Danke trotzdem !

MFG JJB


PS: "Mit meinem Taschentuch werde ich dein Blut aufwischen !" "Hast also doch den Job als Putze gekriegt ?!" *HarHar*
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück