在cxgrid中设置了两列值是checkbox类型的,是未绑定数据库字段的,想实现两个checkbox中只能勾选其中一个,只要其中一个勾选就设置另外一个不勾选,现在遇到这样一个问题,在设置完毕后,不同行焦点发生变化后,原来勾选的值没有进行保存。
很奇怪的一个问题,如果我一行只有一个Checkbox的话,不写任何代码,焦点变化后确可以记录之前的勾选动作。var
  ARow,ACol,AColFix: Integer;
begin ARow := cxGrid1DBTableView1.Controller.FocusedRowIndex;
  ACol := cxGrid1DBTableView1.Controller.FocusedColumnIndex;
  if cxGrid1DBTableView1.Columns[ACol].PropertiesClass = TcxCheckBoxProperties then
   begin
      if TcxCustomEdit(Sender).EditValue then
      begin
        cxGrid1DBTableView1.DataController.SetValue(ARow,ACol,True);        AColFix := IfThen( ACol< cxGrid1DBTableView1.ColumnCount-1,ACol+1,ACol-1);        cxGrid1DBTableView1.DataController.SetValue(ARow,AColFix,False);
      end;
   end;