FlexGrid macht nich was es soll

Hallo :smile:

So also nun zum Abschluss der Deutschen version will ich noch n bisl was für die Bezeichnung der Spalten tun. Das hab ich so Realisiert:

Private Sub StyleIt()
 With DGV
 .WordWrap = False
 .ColWidth(0) = 0
 .ColWidth(1) = 0
 .ColWidth(2) = 0
 .ColWidth(3) = 0
 .ColWidth(4) = 0
 .ColWidth(5) = 0
 .ColWidth(6) = 0
 .ColWidth(7) = 0
 .ColWidth(8) = 0
 .ColWidth(9) = 1250
 .ColWidth(10) = 0
 .ColWidth(11) = 0
 .ColWidth(12) = 3900
 .ColWidth(13) = 3900
 .ColWidth(14) = 940
 .TextArray(14) = "AB 1"
 .ColWidth(15) = 0
 .ColWidth(16) = 940
 .TextArray(16) = "AB 2"
 .ColWidth(17) = 940
 .TextArray(17) = "AB 3"
 .ColWidth(18) = 940
 .TextArray(18) = "AB 4"
 .ColWidth(19) = 0
 .ColWidth(20) = 0
 .ColWidth(21) = 0
 .ColWidth(22) = 0
 .ColWidth(23) = 0
 .ColWidth(24) = 0
 .ColWidth(25) = 0
 .ColWidth(26) = 0
 .ColWidth(27) = 0
 .ColWidth(28) = 0
 .ColWidth(29) = 0
 .AllowBigSelection = False
 .SelectionMode = flexSelectionByRow
 End With
End Sub

Zum Aufruf füge ich einfach an die Stelle, wo ich es so haben will „StyleIt“ ein.

Beim Start des Programms, also in Form_Load() funktioniert das wunderbar.

Aber wenn ich zb ein Filter aktiviere wird ja das Recordset gefiltert und quasi im selben augenblick wieder auf das FlexGrid geschrieben, jedenfalls nach meiner Funktion die Abfragt ob die suche ergebnisse ergab damit die zeile nicht verrutscht usw.
Sooo.
Dann gebe ich den Aufruf ein. ABER er macht nix. Er passt weder die Größen der spalten an, weder schreibt er in den Kopf der Tabelle die bezeichner.

Wer ne Idee?

Grüße vom digi :smile:

Hi digi,

Beim Start des Programms, also in Form_Load() funktioniert das
wunderbar.

gut, dann ist der Code ja richtig. :smile:

Aber wenn ich zb ein Filter aktiviere wird ja das Recordset
gefiltert und quasi im selben augenblick wieder auf das
FlexGrid geschrieben, jedenfalls nach meiner Funktion die
Abfragt ob die suche ergebnisse ergab damit die zeile nicht
verrutscht usw.
Sooo.
Dann gebe ich den Aufruf ein. ABER er macht nix. Er passt
weder die Größen der spalten an, weder schreibt er in den Kopf
der Tabelle die bezeichner.

Wer ne Idee?

hmmm, du aktivierst den Filter, hängst das Recordset an das Flexgrid und rufst dann ohne Verzögerung ‚StyleIt‘ auf, stimmt’s? Ich vermute, Du bist damit zu früh. Das Flexgrid wird vermutlich asynchron gefüllt und angezeigt, Du schreibst Dein Style in das Grid, danach wird der Rechner mit der Aktualisierung fertig und überschreibt Deine Änderung wieder.

Leg mal einen Button auf die Form und ruf ‚StyleIt‘ nach der Aktualisierung mit einem Klick explicit auf. Wenn ich Recht habe geht’s dann und Du mußt Dir etwas ausdenken um den Aufruf erst zu starten, wenn die Aktualisierung abgeschlossen ist. Unschön und ‚wacklig‘ ist eine Zeitverzögerung. Eventuell hilft, die Titelzeile in einer While-Schleife zu lesen und wenn die Bezeichnungen aus der DB drin stehen noch ein DoEvents und erst dann ‚StyleIr‘ aufrufen … mußt Du selbst testen.

Gruß, Rainer