以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 新版foxtable新增行为何会自动触发DataColChanging事件? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41308) |
||||
-- 作者:yacity -- 发布时间:2013/10/16 13:34:00 -- 新版foxtable新增行为何会自动触发DataColChanging事件? 公司的电脑装的是2012版的foxtable。(可能是2011年底的。) 程序也是2011年底设计的。2012年初开始使用至今没有任何问题。最近为了重新设计界面,我把程序拷回家,装上了2013最新的foxtable。 这时候出现了奇怪的问题(程序还没有任何改动)。点击销售开单,新增一行销售记录的时候,竟然会触发DataColChanging事件。 原来2012版的foxtable是不会触发该事件的,麻烦版主帮我看下怎么回事? 具体操作如下: 1、打开程序 2、打开菜单中的“销售信息”3、点击“销售开单”。 这时候会提示“您确定要红冲吗?”
归根到底就是程序触发了 DataColChanging事件
chuhuodan_DataColChanging
Select Case e.DataCol.Name
Case "hongchong" If e.DataRow("hongchong") = False
Dim Result As DialogResult Result = MessageBox.Show("您确定要红冲吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.no Then
e.Cancel = True
End If
Else
这个事件本应该只有在出货单点红冲的时候才会触发的。
原来2012老版本的foxtable 在我点击“销售开单”的时候是不会触发该事件的(现在还在用)。 为什么新版foxtable点击“销售开单”会触发DataColChanging,如何解决? 求解。谢谢!
密码666
有一个库存表 kucun 没能拷过来。
[此贴子已经被作者于2013-10-16 13:42:34编辑过]
|
||||
-- 作者:rjh4078 -- 发布时间:2013/10/16 13:57:00 -- 先判断行的状态 通过rowstate排除新增行 |
||||
-- 作者:程兴刚 -- 发布时间:2013/10/16 14:45:00 -- If e.DataRow("hongchong") = False前加一行 If e.DataRow.isnull("hongchong") = False 然后试试! |
||||
-- 作者:程兴刚 -- 发布时间:2013/10/16 15:01:00 -- 估计我的方法不行,false实际就是0,不存在null值! |
||||
-- 作者:lsy -- 发布时间:2013/10/16 15:50:00 -- 以下是引用程兴刚在2013-10-16 15:01:00的发言:
估计我的方法不行,false实际就是0,不存在null值! 程老师好谦虚,试了你的方法,行! |
||||
-- 作者:lsy -- 发布时间:2013/10/16 15:57:00 -- 逻辑列,有三种状态:空、勾、实心。 加上If e.DataRow.isnull("hongchong") = False的判断,实心也没有了。 好奇怪。 |
||||
-- 作者:程兴刚 -- 发布时间:2013/10/16 16:39:00 -- 哈,我手机回复的,没法测试,也打不开我的已有项目,凭感觉猜的! |
||||
-- 作者:yacity -- 发布时间:2013/10/16 19:42:00 -- OK!谢谢程老师! 可我还是有点不明白。原来我并没有触发DataColChanging,程序确实也不触发该事件。 可是装了新版的foxtable 为什么新增行就 触发该事件呢? [此贴子已经被作者于2013-10-16 19:49:21编辑过]
|
||||
-- 作者:sunsenfeng -- 发布时间:2013/10/16 19:44:00 -- 在Case "hongchong"第一行判断 If e.NewValue=e.Oldvalue Then Return |