Toon posts:

[Delphi] Checkboxen op Grid defaultstand wijzigen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een grid met in elke cell een checkbox.
Als ik m run geeft ie die chechboxen visueel 'checked' weer (in het grijs alsof (!!) ze disabled zijn).
Hun value is echter helemaal nie True... als ik ze op true wil moet ik ze dus twee maal aanklikken:
eerste klik zet 'vinkje' uit, en waarde op false;
(ook nu pas is die grijze kleur weg)
tweede click zet de waarde pas écht op true;


Ik kan dus maar nie vinden hoe ik die gewoon default op false kan zetten bij de propperties;
het enige wat me lijkt te werken is eerst een loop doen en alle checkboxen op false zetten als het proggie loopt...
(maar da's dan weer zo onorthodox ;) )

/me is dan wel een Delphi-newbie, maar toch al meer gehoord dat dit een probleem was, maar nooit de échte oplossing gezien

seffes wel neem ik aan 8-)

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:11
Je hebt bij een checbox wel zo een property 'Grayed' of 'AllowGrayed' of iets in die aard. Ik denk dat je dat voor checkboxes in een grid ook wel zult hebben.

https://fgheysels.github.io/


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 09-09 12:09

Delphi32

Heading for the gates of Eden

Op dinsdag 16 april 2002 19:10 schreef PhUn het volgende:
Ik heb een grid met in elke cell een checkbox.
Als ik m run geeft ie die chechboxen visueel 'checked' weer (in het grijs alsof (!!) ze disabled zijn)...
Gokje: dit is een TDBGrid. Of een afgeleide versie (een TDBGrid uit D5 kan geen TDBCheckbox bevatten). Daar ken ik dit probleem inderdaad van; heb het bij normale TCheckboxes nog nooit gezien.

Als mn gok juist is: verder lezen. Anders mag je het volgende overslaan.

De enige manier waarop dit enigzins te verhelpen is, is door te zorgen dat je ValueChecked en ValueUnchecked properties PRECIES hetzelfde zijn als de waarden die in de onderliggende dataset opgeslagen zijn of worden. Dan worden je reeds bestaande records voortaan goed weergegeven. Blijft er nog een probleempje over, en dat is met ge-inserte records. Van die records zijn de aan/uit-waarden die in de checkbox weergegeven moeten worden, meestal ongedefinieerd en daardoor wordtie dus grijs en moet je twee keer klikken. Dat valt op te lossen middels de properties van het TBooleanField waaraan de TDBCheckBox hangt, maar niet uitgesloten is dat je de default waarde ook op database-niveau moet regelen.