我有一組數據庫複選框,並在末尾有一個「以上都不是」框。我想要做的是,如果點擊「以上都不是」,則清除其餘部分。如果它已被選中,並且任何其他人被點擊,則清除「以上都不是」框。Delphi如何在TDBCheckBoxes之間建立一種獨佔關係
procedure TformLOC30v15.chkC0900AClick(Sender: TObject);
begin
if chkC0900Z.Checked = True then
begin
if not(tblMNLOC30.State in [dsEdit, dsInsert]) then
tblMNLOC30.Edit;
tblmnloc30.FieldByName('C0900Z').AsString := '';
tblmnloc30.Post;
tblMNLOC30.Edit;
end;
end;
procedure TformLOC30v15.chkC0900ZClick(Sender: TObject);
begin
if chkC0900Z.Checked = True then
begin
if not(tblMNLOC30.State in [dsEdit, dsInsert]) then
tblMNLOC30.Edit;
tblmnloc30.FieldByName('C0900A').AsString := '';
tblmnloc30.FieldByName('C0900B').AsString := '';
tblmnloc30.FieldByName('C0900C').AsString := '';
tblmnloc30.FieldByName('C0900D').AsString := '';
tblmnloc30.FieldByName('c0900Z').AsString := 'True';
tblmnloc30.Post;
tblMNLOC30.Edit;
end;
end;
這適用於大多數情況,但是當選擇「以上都不是」,並點擊任何其他箱子,箱子被清除,但被點擊的框不會,除非點擊選擇它再次。有人知道爲什麼會發生這種情況嗎?謝謝。
你爲什麼要發佈你更新的數據?這當然會在數據保存時造成不一致? – 2015-02-06 09:27:08