DBGrid: Spaltenbreite lässt sich nicht setzen



  • Hi

    Ich kämpfe hier grade mir meinem DBGrid. Ich habe feste Spaltenbreiten gesetzt (mit DBGrid1->Columns->Items[i]->Width = 100;), das funktioniert soweit. Wenn ich jetzt aber eine (Paradox) DB einlese werden die Spaltenbreiten des DBGrid auf ziemlich unsinnige Werte (viel zu breit) gesetzt. Ich habe versucht die Spaltenbreiten nach dem Einlesen nochmal zu setzen, sie "springen" aber sofort wieder zurück.

    Jemand ne Idee wie das kommen könnte?!

    Banzai!



  • hast du das Grid auf Customized gesetzt?

    z.B. DBGrid1->Columns->State = csCustomized;



  • Vielen Dank für den Tip! 🙂

    Jetzt muss ich allerdings wenn ich nur einen Teil (nur einzelne Spalten) der DB anzeige die nicht verwendeten Spalten von Hand entfernen. Wie mach ich das? Oder setz ich einfach kurz auf csDefault und dann wieder zurück auf csCustomized?
    Was empfielt sich hier?

    Banzai! ➡



  • am besten alles löschen und dann die hinzufügen die du brauchst, z.B.

    DBGrid1->Columns->Clear();
    DBGrid1->Columns->Add();
    DBGrid1->Columns->Items[0]->Title->Caption = "Name";
    DBGrid1->Columns->Items[0]->FieldName = "Name";
    

Anmelden zum Antworten