Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]表达式列数值变动不触发DataColChanged?

1楼
i52117 发表于:2010/8/19 14:08:00
请问各位大侠,表达式列数值变动不触发DataColChanged?
2楼
czy 发表于:2010/8/19 14:32:00

如果表达式列是用表达式计算出来的,应该不会触动.

不过可以增加一个全局变量

DataColChanging事件中将表达式列的值赋于全局变量,如:
Vars("变量") = e.DataRow("表达式列")

DataColChanged事件代码
If e.DataRow("表达式列") <> Vars("变量")
    MessageBox.Show("有变动")
End If

3楼
i52117 发表于:2010/8/19 14:38:00
谢谢C版主!
4楼
飞鱼 发表于:2010/10/8 15:13:00
以下是引用czy在2010-8-19 14:32:00的发言:

如果表达式列是用表达式计算出来的,应该不会触动.

不过可以增加一个全局变量

DataColChanging事件中将表达式列的值赋于全局变量,如:
Vars("变量") = e.DataRow("表达式列")

DataColChanged事件代码
If e.DataRow("表达式列") <> Vars("变量")
    MessageBox.Show("有变动")
End If

我做过一个填充的代码,填充的数据也不能触发DataColChanged事件,是否可以采用同样的方法解决?

5楼
wcs 发表于:2010/10/8 16:15:00

填充的,会触发DataColChanged事件,但是如果你填充多列数据,DataColChanged的条件不易设置。

 

所以,填充进来的数据,可用代码来一并计算,不用事件。

6楼
kylin 发表于:2010/10/8 17:56:00
以下是引用czy在2010-8-19 14:32:00的发言:

如果表达式列是用表达式计算出来的,应该不会触动.

不过可以增加一个全局变量

DataColChanging事件中将表达式列的值赋于全局变量,如:
Vars("变量") = e.DataRow("表达式列")

DataColChanged事件代码
If e.DataRow("表达式列") <> Vars("变量")
    MessageBox.Show("有变动")
End If

另外一个思路:看一下表达式是与哪几个字段有关,如果不多的话,就用这几个字段的变化来处理,比较直观吧

 

7楼
czy 发表于:2010/10/8 19:24:00
以下是引用kylin在2010-10-8 17:56:00的发言:

另外一个思路:看一下表达式是与哪几个字段有关,如果不多的话,就用这几个字段的变化来处理,比较直观吧

 

 

 是的。

不过楼主发这个贴的时候还发了另外一贴,大致意思是说直接判断表达式列,当初我也建议判断表达式列引用的字段或参与计算的字段。

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03564 s, 2 queries.