我想做一个批量删除的功能,用到了DBGridEH 的checkbox,想问如何判断checkbox是否被选中?

解决方案 »

  1.   

    直接判断表内的字段值就行了。DBGridEH1.FieldByName('CheckField').AsBoolean
      

  2.   

    我表中的值是空的 没值 只是为了让DBGridEh有复选框的效果 ,我只要判断哪个复选框被选中了,然后批量删除
      

  3.   

    不太明白你的意思,既然你表内有多个复选框,就说明表不是空的。
    复选框在DBGridEh中就是一个Boolean类型的字段值,该值为True,则选中,为false,则未选中。
    所以,你只需判断该DbGridEh所在列的值就行了。
      

  4.   


    能给我写一些代码看看吗
    我用的是Clientdataset做的,你直接写如何删除复选框被选中的列,谢谢了!
      

  5.   

    建个临时字段fCheck Boolean类型的 ,选中了fCheck:=true;
      

  6.   

    1.循环判断,然后dataset.delete; 
    2.或者循环时保存要删除的key,最后再执行delete的SQL语句
    3.或者在选择的时候,就把选中行的key加入到某个列表中(当然取消选中时,就去掉),然后根据列表中的数据再做删除
      

  7.   

    楼主是要实现多选后删除的操作。其实dbgrideh和cxgrid都支持行多选的,你选中多行后,再用10楼的方法,删除即可。不用加那个checkbox。
      

  8.   

    有个属性dbMultiSelect为true后就可以多选了。