如何修改并保存cxgrid单元格的值,前提是不移动记录集的行标.
我目前使用的方法是:
cxGridDBTableView.DataController.Edit;
cxGridDBTableView.DataController.Values[1,0]:=5;
cxGridDBTableView.DataController.Post;
单元格的值能够修改,但是不能保存到数据库
我目前使用的方法是:
cxGridDBTableView.DataController.Edit;
cxGridDBTableView.DataController.Values[1,0]:=5;
cxGridDBTableView.DataController.Post;
单元格的值能够修改,但是不能保存到数据库
解决方案 »
- 动态调用DLL的问题
- delphi中调用floattostr,国外为何小数点变成了逗号?
- 统计问题求教
- Forms Editor 1.0是怎么用的啊?
- 关于keypress的问题。
- 挑战自己的能力_如何实现delphi中调用excel中用vb做的宏
- 应用程序在XP下有些按钮看不到?效果很差?(在线)
- 请问谁有使ToolBar里面的按钮左右移动的控件!
- 如何使用SQL删除DBF表中的记录,注意是真正的删除,而不是DELETE
- 求助:.................................................................
- 程序部署在一台XP虚拟机中,通过Windows终端连接到这台XP虚拟机使用,现在程序需要知道是从哪个IP连接到这台虚拟机的,请各位高手帮忙。
- 在前台与网站之间传送记录集的问题
cxGridDBTableView.DataController.updateBatch(arall);
即可保存到数据库中去了。
我的问题,应该不是你所说的方向. 请仔细看看我的问题,特定cxGrid;而且前提是不移动记录集的cursor.
1. 无论Dataset是BatchOptimistic,还是Optimistic,都无法保存.
2. 我的应用需求,是单条记录更新.欢迎熟悉cxgrid的朋友,给予指点.
cxGridDBTableView.DataController.DataSource.DataSet.RecNo:=1;
cxGridDBTableView.Column[0].editValue:=5;
cxGridDBTableView.DataController.DataSource.DataSet.Post;//楼主那种方法,已经与数据集分离开来了,你操作的是数组值,而不是数据集,想保存到数据库,
必须写代码才能实现的,你的那个EDIT、POST是没有任何作用的。你可以把你的代码中的EDIT和POST注释掉,看一下效果去,表面上CXGRID中的内容改了,但光标到了那一列
时显示的还是原来的内容,光标移开后,就又成了你写进去的内容。
您的"DataController.DataSource.DataSet.RecNo:=1;",仍然改变了行标.之所以不希望改变行标,是因为我的cxGrid及其记录集,实时显示N个后台线程的进度,一个线程对应一条记录. 而代码频繁的修改行标,就会严重影响用户对记录行的选取操作.当然,我现在有个麻烦点的办法,使用TcxTreeList. 也就是说放弃绑定.
但本人一向追求完美,凡有搞不定的问题放在一边,心里总不舒服. 再者,本人对代码"惜墨如金",放弃使用绑定,终觉遗憾! 故,发帖赐教. 分不够再加.
假设第一列为表的主键,第二列为要写入的值cxGridDBTableView.DataController.Values[1,1]:=5;
update_db(cxGridDBTableView.DataController.Values[1,0],5);//update_db是一个过程,其中参数为表主健,5为要写入的值
//那么楼主即可实现不移动行就可实现楼主的想法了,至于update_db过程,相信楼主可以实现的。
update_db,那和我"放弃绑定"的方案少不了多少代码,有点牵强. 总感觉cxGrid有它自己的方法.仍不死心,继续征集答案...