我在表单上没有DBCheckbox,我希望能够以编程方式检查/取消选中其中一个或多个,具体取决于用户是否在同一表单上检查/取消选中不同的DBCheckbox我似乎无法使用onclick事件
执行此操作答案 0 :(得分:3)
我似乎无法使用onclick事件
执行此操作
原因是数据库感知组件(如TDBCheckBox)的状态与它们所连接的数据集的状态之间存在紧密耦合。如果你试图通过尝试设置组件的gui状态(例如DBCheckBox的Checked状态)来干扰这一点,那么这些组件所有工作的db-aware模型都会在每一寸路上对你不利,因为你是有效的试图破坏组件的gui状态与相应数据集字段中的值保持同步的机制。
所以,正如Val Marinov所说的那样,你需要做的就是操纵字段值,如下所示:
if MyDataSet.FieldByName('OtherBooleanField').AsBoolean <> RequirdValue then begin
if not (MyDataSet.State.State in [dsInsert, dsEdit]) then
MyDataSet.Edit;
MyDataSet.FieldByName('OtherBooleanField').AsBoolean := RequiredValue;
由你决定触发的是什么触发器来执行这样的代码。
答案 1 :(得分:0)
on clickevent复选框设置Field of appropriate复选框
答案 2 :(得分:0)
在字段的OnChange事件中,更改需要更改的其他字段的值。