数据库中有字段A 类型为bit  默认值为0
DBGridEh能生成checkbox列
现在想点击DBGridEh中的checkbox选中记录同时更新数据库中字段A的值为1
选中的才更新
请问这个该怎么实现?

解决方案 »

  1.   

    为Grid添加一列,字段指向bit类型字段,然后在该列的Columns0UpdateData事件中可以处理
      

  2.   

    感谢bdmh
    以前没接触过
    事件该怎么写?能不能给个例子?
      

  3.   

    没有找到类似的demo
    哪个demo用到了checkbox属性?
      

  4.   


    procedure TForm1.DBGridEh1Columns0UpdateData(Sender: TObject;
      var Text: String; var Value: Variant; var UseText, Handled: Boolean);
    这里的value就是新的值,你只要把这个值提交给数据库就行了其实,没必要,你不写代码,只要点上勾,数据集就自动出于Edit状态,你切换一下记录,或者Post一下就提交到数据库了
      

  5.   

     post一下是可以更新的
    现在就是想在提交之前,点击DBgrideh第一列的CHECKBOX时,即时的更新数据库中字段的值,1为选中,0为没选中
    DBGridEh1Columns0UpdateData事件如何判断checkbox是否选中呢?
    继续等待
      

  6.   

    DBGridEh的checkbox设置为true 
      

  7.   

    双击DBGridEh会列出所filename再选中那个为bit类型的列,将checkbox属性设置为true至于更新到数据库可以 
    procedure TForm1.DBGridEh1Columns0UpdateData(Sender: TObject;
      var Text: String; var Value: Variant; var UseText, Handled: Boolean);
    begin
    ado.post; //自写事件end;还可以在ado bit列的onchange事件中写
      

  8.   

    需要有一个bit的数据类型的字段.
      

  9.   

    谢谢,属性什么的都设好了
    现在就是不知道更新到数据库写事件时如何判断CHECKBOX是否选定
    procedure TForm1.DBGridEh1Columns0UpdateData(Sender: TObject; 
      var Text: String; var Value: Variant; var UseText, Handled: Boolean); 
    begin //能不能帮忙写个判断CHECKBOX的事件?end;
      

  10.   

    问题已解决
    感谢bdmh的耐心解答和指导