首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

如何取dw列最后一次修改值

2013-01-05 
怎么取dw列最后一次修改值怎么取dw列最后一次修改值:前提是:数据修改次数不定,数据没有保存也没重新检索(

怎么取dw列最后一次修改值
怎么取dw列最后一次修改值:

前提是:数据修改次数不定,数据没有保存也没重新检索
(则直接取Original缓冲区没法取到)


有什么方式 可以做到吗?
[解决办法]
当前显示的不就是最后一次修改的值吗???

如果取的不是当前编辑的列,则直接dw_1.getitem***

如果取得是当前编辑的列,取之前dw_1.accepttexxt(),再dw_1.getitem***
               或者  dw_1.gettext()
[解决办法]
这问题。。。。。

是初始值还是?
直接getitemXXXX() 得到的不是最后一次修改的值吗?
[解决办法]
声明实例变量string is_last_data
在dw的itemchanged事件中写:
is_last_data = object.datawindow.data

需要撤销时,直接importstring(is_last_data)

如果只是获取某个单元格本次修改之前的数据,则写:
datastore lds
lds = create datastore
lds.dataobject = dw_1.dataobject
lds.importstring(is_last_data)
lds.getitem***
[解决办法]
如果要实现撤销功能的话,可以考虑用getfullstate() setfullstate()
[解决办法]
原始值 是1 ,  打开后  改成 ,9 , 又改成 3 ,又 改成11   这些操作都是在没保存的情况下  ,如果要获取3  确实有点困难 。 

如果是你在itemchange中就发现11 不正确 ,想取消 , 你可以试试 undo 这个函数
[解决办法]
楼主的这个问题,我曾经弄过,我当时在datawindow中的事件:itemchanged中直接取被修改前是什么,而且只能是刚修改的时候可以起到作用,你可以对比下,在这个事件中,你不要使用accepttext,然后调用getitemXXX()和事件的参数data对比,这两个值用messagebox提示下,你就知道,两个值是不一样的,一个是修改后的值,一个是修改前的值

[解决办法]
数据窗口本身不支持保存上一次修改的值的功能,建议楼主放弃这个想法,还是自己写代码去保存吧。
[解决办法]
如何取dw列最后一次修改值帮顶
[解决办法]
如果是想取上一次的值的话,可以定义一个全局变量,记录一下上一次输入的值,这样 如果要撤销的话,直接读取这个变量的值就可以了。

热点排行
Bad Request.