实现功能 : DBgrideh  中  第一列显示为checkbox 且点击的时候改变选中未选中。 用户在相应的记录前打勾,按下确定按钮后,判断哪些记录被选择。  现在 我已经实现到 点击的时候 可以改变选中未选中的状态 ,但这个时候直接就保存到了 数据库中。我 希望在 点击确定的时候才保存到数据库中。也就是说 checkbox的状态变化了 ,没有点击确定 是对数据库里面没有影响的。

解决方案 »

  1.   

    把关联的数据集设成缓存更新。
    ADO设LOCKTYPE := ltBatchOptimistic
    bde设CachedUpdate := True,连接一个TUPDATESQL。
    确定时进行事务提交。
    ADO:
    ADOQuery.Connection.BeginTrans;
    try
      ADOQuery.UpdateBatch;
      ADOQuery.Connection.CommitTrans;
    except
      ADOQuery.CancelBatch;
      ADOQuery.Connection.RollTrans;
    end;
      

  2.   

    回复人: ssq237712(流亡帅哥) ( ) 信誉:100  
    先谢谢 你拉 
      

  3.   

    如果 还有两个button, 一个 让checkbox全选中,一个让全不 选中 
    应该怎么 做呢?
      

  4.   

    在dbgrideh中 怎么改变 相应字段的 值?是不是 只能够改变数据库里面的值?
    ADOQuery.filedbyname('checkstatus').asstring = "Y";
      

  5.   

    ADODATASET的CacheSize 设为1000
    但是你要保证你的数据不超过1000条 要不就要设更大
    起是象  ssq237712(流亡帅哥) 那样说的是严谨点
    不过做主从集的从集好象不太方便