Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#1

Spaltenbreite für erste Spalte in DBGrid funktioniert unter XE10 nicht richtig

  Alt 14. Jun 2016, 16:18
Hallo zusammen,

habe gerade gemeldet bekommen, dass nach der Umstellung von XE3 auf XE10 DBGrids nicht mehr korrekt angezeigt werden und habe bei der Analyse festgestellt, dass die erste Spalte zu schmal angezeigt wird.

Um sicherzustellen, dass es keine Randeffekte meinerseits sind habe ich folgendes getestet
  • TDBgrid auf neues Form gelegt
  • TUniQuery über TUniDataSource mit Grid verknüpft
  • TUniQuery mit select (MsSQL) aktiviert bei dem erste Spalte ein VarChar(40) ist
  • Im DBGrid Spalteneditor per Doppelklick geöffnet und bei geöffneter Query alle Felder hinzugefügt
  • Feld 0 wird z.B. automatisch mit Width = 244 angelegt
  • Starte ich nun das Programm ist alles in Ordnung. Spaltenbreiten sind OK
  • Danach im Spalteneditor Width von Spalte 0 auf 120 gesetzt
  • Starte ich nun das Programm ist die erste Spalte zu schmal.
  • Frage ich die Spaltenbreite ab, wird sie mit 64 angegeben
  • 64 ist die Standardbreite, die für alle Spalten angezeigt wird wenn ich Spalteneditor bei nicht geöffneter Query öffne
  • Danach im Spalteneditor Width von Spalte 0 wieder auf 244 gesetzt
  • Starte ich nun das Programm ist wieder alles OK

Fehler tritt auch auf, wenn Spaltenbreite größer 244
Setze ich die erste Spalte in OnCreate mit  dbgrid1.Columns[0].Width := 120; funktioniert es
Setze ich andere Spalten im Spalteneditor, funktioniert es ebenfalls für diese Spalten

Getestet unter Win7 und mit Delphi BDS Version 23.0.20618.2753

Da ich sehr viele Formulare mit DBGrids habe, wäre ich froh es gäbe eine zentrale Lösung und nicht die, dass ich die Breite in jedem OnCreate manuell korrigiere.

Danke
Gerd
  Mit Zitat antworten Zitat