在一个表中加入一个编辑的功能窗口
窗口中加入几个TextBox控件,并分别绑定到列
窗口中加入"确定"和"取消"两个按钮
选择一行数据进行编辑,修改了其中的TextBox的内容,跳到其它控件后,TextBox所绑定的列也发生了变化,
希望做到
在单击"确定"后保存修改(没有问题)
单击"取消"后,修改过的列恢复到原来的值.
请高手指点
[此贴子已经被作者于2009-6-15 17:31:03编辑过]
以下是引用sohper在2009-6-15 16:34:00的发言:在一个表中加入一个编辑的功能窗口
窗口中加入几个TextBox控件,并分别绑定到列
窗口中加入"确定"和"取消"两个按钮
选择一行数据进行编辑,修改了其中的TextBox的内容,跳到其它控件后,TextBox所绑定的列也发生了变化,
希望做到
在单击"确定"后保存修改(没有问题)
单击"取消"后,修改过的列恢复到原来的值.
请高手指点
[此贴子已经被作者于2009-6-15 16:33:56编辑过]
简单一点,在取消按钮上加上撤销操作的代码!系统代码有,试一下有没有用?
确定按钮:
DataTables("某表").Save
取消按钮:
Tables("某表").Current.DataRow.RejectChanges()
CanUndo
判断指定的Table是否有可以撤销的编辑操作。
留意到菜单中的撤销按钮吗?在当前Table没有可撤销的操作时,该按钮是不可用的,该特性就是利用的CanUndo属性实现的,以后学习菜单设计的时候,你会接触到很多这种例子。
这样是可以解决单击取消后的修改,但也会带来麻烦,
比如,我打开编辑窗口后,这次并没有对其进行修改,再单击取消按钮,也会撤消一次,最近的修改操作,包括新输入和新增行的操作
以下是引用sohper在2009-6-15 16:51:00的发言:
这样是可以解决单击取消后的修改,但也会带来麻烦,
比如,我打开编辑窗口后,这次并没有对其进行修改,再单击取消按钮,也会撤消一次,最近的修改操作,包括新输入和新增行的操作
保存时,在messagebox中运用啊,
确定时用 :DataTables("某表").Save
取消时用:Tables("某表").Current.DataRow.RejectChanges()
[此贴子已经被作者于2009-6-15 16:56:45编辑过]
我用了个笨方法,在窗口的AfterLoad事件中加了"保存"命令,这样每次打开这个窗口之前的修改都会不记在RejectChanges()的撤消范围了,不过觉得这只能算是歪门子!
[此贴子已经被作者于2009-6-15 17:23:20编辑过]