如题:
我是在onshow里加了
  dbgrd.selectedrows.currentrowselected := false;
  dsmain.DataSet.First;
  while not dsmain.DataSet.eof do
  begin
    dbgrd.selectedrows.currentrowselected:= false;
    dsmain.DataSet.Edit;
    dbgrd.Columns[1].CheckboxState := cbUnchecked;
    dsmain.DataSet.next;
  end;
  dsmain.DataSet.Cancel;而dbgrd绑定的是dsmain,那就会出现问题,就是每次打开窗体的时候,dbgrd的记录会跟着移动
(我知道是因为dsmain记录移动了的关系),可能我这样写是不对的,那要怎么实现,才能让dbgrideh
的复选框默认是不选中的呢?
对了,dsmain里的sql是这样的:select 1,t.* from T_PRODUCTINFO t,1用来关联dbgrid的复选框

解决方案 »

  1.   

    绑定了数据源了,这个字段的值为false或0,就不选中了
      

  2.   

    DBGridEH是数据感知组件,你数据集的第一个字段全是1,当然是选中状态了,改成0就可以了,不过你这样作是有问题的,当选中获取取消复选框的时候,实际上是要对数据集作修改操作的,你用Select语句,点击复选框的时候会报错,我是先建立临时表,把数据放到临时表里,最后在select * from #table
      

  3.   

    select 0,t.* from T_PRODUCTINFO t