Autor Beitrag
inkoknito
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Di 04.08.09 12:58 
Hallo,

ich habe auf meiner Form eine Checkbox, der ich im Quellcode zwei Werte zuweise, bei denen sie als "Checked" markiert sein soll.

ausblenden Delphi-Quelltext
1:
DBCheckBox_ARCHIV.ValueChecked := '0;1';					


Wenn nun diese Werte in dem entsprechenden Datenbankfeld zu finden sind, ist die Checkbox richtigerweise auch markiert. Allerdings ist sie grau hinterlegt. Ich hätt's gern ganz normal weiß, wie bei allen anderen Checkboxen mit nur einem Wert auch. Ihr könnt mir sicher weiterhelfen.

Vielen Dank schonmal!

Gruß, Jana

EDIT: Mir ist gerade aufgefallen, sobald ich diese Checkbox einmal geändert habe, wird es anschließend auch bei anderen Datensätzen immer weiß angezeigt. Ist also nur ein Problem vor der ersten Nutzung.
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 04.08.09 16:57 
Hallo,

Du musst einem neuen Datensatz einen Defaultwert geben (true/false) (initialisieren), z.B. bei onNewRecord der abgeleiteten TDataSet-Komponente. Entsprechend handeln, wenn ein Datensatz per SQL hinzugefügt wird.

z.B: so
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure MyDataSetOnNewRecord(Dataset: TDataSet);
begin
  tblMyDataMyBooleanField.Value := False;  // oder true

  //oder so
  tblMyData.FieldByName('MyBooleanField').AsBoolean := False;
end;


Somit ist die DBCheckBox nicht mehr ausgegraut

Gruß