以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  新版foxtable新增行为何会自动触发DataColChanging事件?  (http://www.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、点击“销售开单”。

这时候会提示“您确定要红冲吗?”


此主题相关图片如下:1.jpg
按此在新窗口浏览图片

 

归根到底就是程序触发了 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

 

这个事件本应该只有在出货单点红冲的时候才会触发的。


此主题相关图片如下:2.jpg
按此在新窗口浏览图片

 

原来2012老版本的foxtable 在我点击“销售开单”的时候是不会触发该事件的(现在还在用)。

为什么新版foxtable点击“销售开单”会触发DataColChanging,如何解决?

求解。谢谢!
 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:儋州琼富塑料管理系统1.0sql测试版.table

密码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