以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  为什么DataRowLockedChanging 取消了还是会触发DataRowLockedChanged?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=85930)

--  作者:chen3728060
--  发布时间:2016/6/6 9:48:00
--  为什么DataRowLockedChanging 取消了还是会触发DataRowLockedChanged?
我在一个出货表的

DataRowLockedChanging 设置e.cancel =true

然后

 

DataRowLockedChanged  设置 messagebox.show(1)

 

然后我进行行锁定操作,发现,行,无法锁定,但是仍然触发了messagebox.show(1)的弹窗

 

问:为什么DataRowLockedChanging 取消了还是会触发DataRowLockedChanged?明明都没有change,却触发changed。最新狐表版本

 

其实我想实现的时候,锁定行前先判断这一行的商品的出货数量要少于这款商品目前的库存数量才能锁定行,锁定行后触发DataRowLockedChanged去修改我的库存表。

如果判断这一行的商品的出货数量要大于这款商品目前的库存数量,导致库存为负数的,就不准它锁定,那就更加不会触发DataRowLockedChanged去修改我的库存表。


--  作者:大红袍
--  发布时间:2016/6/6 9:51:00
--  

DataRowLockedChanging 并不是阻止,而是帮你把值修改成原来的值而已。

 

会触发 DataRowLockedChanged的。


--  作者:chen3728060
--  发布时间:2016/6/6 9:55:00
--  回复:(大红袍)DataRowLockedChanging 并不是阻止,...

那就是说我想实现的功能,判断就要放在那个锁定的按钮上,先判断完,再锁定。而不是在datarowlockedchanging里判断咯?


--  作者:chen3728060
--  发布时间:2016/6/6 9:58:00
--  回复:(大红袍)DataRowLockedChanging 并不是阻止,...

还有一个问题想问,我在DataRowLockedChanged事件里设置 e.datarow.save。但是我发现锁定行,或者解锁行,它并没有立刻保存。例如我锁定行,然后退出软件,提示“保存修改吗?”

好像只能建一个锁定button,

tables("xx”).current.locked = 1  

tables("xx”).current.save


--  作者:大红袍
--  发布时间:2016/6/6 10:10:00
--  
 是的,锁定行,解锁行的时候,不能保存,修改状态应该是在事件之后。