如何实现在cxGrid中修改数据但不自动提交(100)

  • 主题发起人 主题发起人 stjacket
  • 开始时间 开始时间
S

stjacket

Unregistered / Unconfirmed
GUEST, unregistred user!
默认的情况下,在cxGrid修改完数据后便会自动提交。该怎样设置才能阻止cxGrid自动提交数据。
 
设置外部字段~
 
to duxing设置外部字段?可以说具体点吗,我不是很明白。
 
就是双击数据集(如ClientDataset1) 右键添加临时字段~`? 可以满足你的要求么?
 
还是不大明白。不知道我有无理解错你的意思,感觉上如果改变了字段则显示cxGrid上其他数据会改变。我的需求是,设置cxGrid当我们在cxGrid上修改数据时,不再像默认那样自动直接更新到数据库里面。
 
如果是所有字段的话~~ 你不保存~ 不post, cdsquery.open一下就行了~~如果是单个~ 就价格外部字段~ 让外部字段 的值等于 数据库里面字段的值~让cxGrid显示外部字段 而原字段不显示~这样外部字段改变了~ 原来字段值还是不变~ 更不会保存~
 
cxGrid和dataSet绑定了,当修改完数据后,即使你不调用post,但只要点一下其它行,delphi也会自动保存数据的,而且这个步骤你是没法拦截的。因此,需要下功夫的不是在cxgrid,而是在dataset上,我不知道你现在用query还是adoquery或者table查询的数据显示在cxgrid上的,使用这几个dataset也不好处理你的问题,但你可以使用clientDataset,如下:query1.close;query1.sql.text:=______query1.open;DataSetProvider1.dataset:=query1;ClientDataset1.Data :=DataSetProvider1.data;query1.close;cxgrid.datasource.dataset:= clientdataset;----------------下面是数据随便你怎么更改,包括删除,也不会保存到数据库了。
 
使用TRxMemoryData 控件吧! 方便操作!
 
batch update 模式
 
多人接受答案了。
 
后退
顶部