Avatar billede anold Nybegynder
22. november 2000 - 12:20 Der er 7 kommentarer og
1 løsning

DBCheckBox flueben

jeg har et X antal DBCheckBox på min form men de er alle sammen Grå og med flueben i, kan man ikke fjerne den grå farve og fluebenet ??
Avatar billede pellelil Nybegynder
22. november 2000 - 12:27 #1
Når en værdi (sandt/falsk) ikke er tilknyttet så fremtræder den på den måde du beskriver. Sæt \"AllowGrayed\" til False.
Avatar billede anold Nybegynder
22. november 2000 - 12:37 #2
Hej pellelil
Jeg har prøvet at sætte \"AllowGrayed\" til False. men det forsvinder værken den grå farve eller fluebenet af
Avatar billede cktarget Nybegynder
22. november 2000 - 12:39 #3
Fluebenet forsvinder når du sætter dbCheckBox.value = true eller
dbCheckBox.value = false

Jeg kan ikke huske om det skal være value, eller checked. Men prøv dig frem

mvh Kedde
Avatar billede anold Nybegynder
22. november 2000 - 12:46 #4
Hej Kedde
Min dbCheckBox.valueCheked er sat til \'X\' og minValueUnCheked er sat til \' \'

Det der er mærkligt (for mig) er at DbChekBox\'en først bliver grå når jeg knytter et DataField til så bliver den grå og fluebenet kommer frem
Avatar billede cktarget Nybegynder
22. november 2000 - 12:49 #5
Så kunne jeg ummiddelbart forestille mig at det er fordi, der ikke er valid data i din datafield.

Mvh Kedde
Avatar billede pellelil Nybegynder
22. november 2000 - 13:23 #6
Jeg sov i timen og bemærkede ikke at det var en DBCheckBox. Når vi \"taler\" DBCheckBox så fremtræder denne (som du beskriver) når værdien i databasen ikke er \"tildelt\". Normalt vil et ikke defineret felt indeholde værdien \"Null\" hvorved du vil se en \"grå box\".

Jeg kunne forestille mig at du ser dette i forbindelse med oprettelse af nye poster. I din \"OnNewRecord\" kan du vælge at definere at sætte feltets værdi således at den fremtråder enten som \"Checked\" eller ej.

Hvis du ser det mens du \"bladre\" i dine poster (som allerde findes i databasen) så er det enten fordi felterne indeholder værdien \"Null\" og/eller fordi du ikke har lavet methoder til felternes OnGetText/OnSetText.
Avatar billede anold Nybegynder
22. november 2000 - 13:31 #7
Hvordan bruger jeg felterne OnGetText/OnSetText.
Avatar billede pellelil Nybegynder
22. november 2000 - 13:43 #8
Dobbelt klik på din TTable (eller TQuery). Så vises dine \"Persistent Fields\". I dette vindue højre klikker du og vælger \"Add all fields\". Dernæst vælger du det felt der er tale om og for dette felt skriver du dine \"OnGetText/OnSetText methoder:

<SNIP>
procedure TdmMidasClient.cdsChainsAUTOMAILGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if cdsChains.FieldByName(\'AUTOMAIL\').AsInteger = 0 then Text := \'FALSE\';
  if cdsChains.FieldByName(\'AUTOMAIL\').AsInteger = 1 then Text := \'TRUE\';
end;


procedure TdmMidasClient.cdsChainsAUTOMAILSetText(Sender: TField;
  const Text: String);
begin
  if AnsiUpperCase(Text) = \'FALSE\' then Sender.AsInteger := 0;
  if AnsiUpperCase(Text) = \'TRUE\'  then Sender.AsInteger := 1;
end;
</SNIP>

Ovenstående er lavet til brug ved InterBase, som ikke har en \"Boolean variabel\", så fysisk indeholder databasen enten 0 eller 1.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester