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.
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.
Synes godt om
Ny brugerNybegynder
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.