以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]怎么样取消编辑(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3152)

--  作者:sohper
--  发布时间:2009/6/15 16:34:00
--  [求助]怎么样取消编辑(已解决)
在一个表中加入一个编辑的功能窗口
窗口中加入几个TextBox控件,并分别绑定到列
窗口中加入"确定"和"取消"两个按钮
选择一行数据进行编辑,修改了其中的TextBox的内容,跳到其它控件后,TextBox所绑定的列也发生了变化,
希望做到
在单击"确定"后保存修改(没有问题)
单击"取消"后,修改过的列恢复到原来的值.
请高手指点

[此贴子已经被作者于2009-6-15 17:31:03编辑过]

--  作者:blackzhu
--  发布时间:2009/6/15 16:37:00
--  
以下是引用sohper在2009-6-15 16:34:00的发言:
在一个表中加入一个编辑的功能窗口
窗口中加入几个TextBox控件,并分别绑定到列
窗口中加入"确定"和"取消"两个按钮
选择一行数据进行编辑,修改了其中的TextBox的内容,跳到其它控件后,TextBox所绑定的列也发生了变化,
希望做到
在单击"确定"后保存修改(没有问题)
单击"取消"后,修改过的列恢复到原来的值.
请高手指点

[此贴子已经被作者于2009-6-15 16:33:56编辑过]

  简单一点,在取消按钮上加上撤销操作的代码!系统代码有,试一下有没有用?


--  作者:狐狸爸爸
--  发布时间:2009/6/15 16:37:00
--  
确定按钮:
DataTables("某表").Save

取消按钮:
Tables("某表").Current.DataRow.RejectChanges()



--  作者:mr725
--  发布时间:2009/6/15 16:41:00
--  

CanUndo

判断指定的Table是否有可以撤销的编辑操作。
留意到菜单中的撤销按钮吗?在当前Table没有可撤销的操作时,该按钮是不可用的,该特性就是利用的CanUndo属性实现的,以后学习菜单设计的时候,你会接触到很多这种例子。


--  作者:sohper
--  发布时间:2009/6/15 16:51:00
--  

这样是可以解决单击取消后的修改,但也会带来麻烦,

比如,我打开编辑窗口后,这次并没有对其进行修改,再单击取消按钮,也会撤消一次,最近的修改操作,包括新输入和新增行的操作


--  作者:mr725
--  发布时间:2009/6/15 16:56:00
--  
以下是引用sohper在2009-6-15 16:51:00的发言:

这样是可以解决单击取消后的修改,但也会带来麻烦,

比如,我打开编辑窗口后,这次并没有对其进行修改,再单击取消按钮,也会撤消一次,最近的修改操作,包括新输入和新增行的操作

保存时,在messagebox中运用啊,
确定时用 :DataTables("某表").Save 
取消时用:Tables("某表").Current.DataRow.RejectChanges()

[此贴子已经被作者于2009-6-15 16:56:45编辑过]

--  作者:sohper
--  发布时间:2009/6/15 17:23:00
--  
我用了个笨方法,在窗口的AfterLoad事件中加了"保存"命令,这样每次打开这个窗口之前的修改都会不记在RejectChanges()的撤消范围了,不过觉得这只能算是歪门子!
[此贴子已经被作者于2009-6-15 17:23:20编辑过]