我有一组数据库复选框,并在末尾有一个“以上都不是”框。我想要做的是,如果点击“以上都不是”,则清除其余部分。如果它已被选中,并且任何其他人被点击,则清除“以上都不是”框。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