以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  e.DataCol.Name是不是有缓存了啊?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54675)

--  作者:skyman1188
--  发布时间:2014/8/1 21:37:00
--  e.DataCol.Name是不是有缓存了啊?
我之前版本在表增加一行的时候,是可以编辑的。
新的版本发现不能编辑了,倒腾了半天,发现在增加一行时候置入了好列的初始值,发现触发了好几次DataColChanged事件,之前的4月份老版本貌似只触发一次事件。请问狐爸是不是这样的?

--  作者:y2287958
--  发布时间:2014/8/1 21:49:00
--  
应该不会
上例子

--  作者:skyman1188
--  发布时间:2014/8/2 12:31:00
--  例子太大了,我简要说明
增加一行后,我在 DataColChanged事件中就增加了一句话:MessageBox.Show(e.DataCol.Name)
结果挑出来框显示“B9”,点确定后跳出框显示“Y2”,点击确定后跳出框显示“Y3”...(这些都是列号)
共跳出来16次,说明DataColChanged事件触发了16次,这些值大部分在DataRowAdding时间里面设置了初始值,还有一部分是在列属性里面设置了初始值的。
我安装4月份老的版本软件,没有这个现象,7月20日之后的版本都有这个现象,其余的版本软件我没有安装,不详。

[此贴子已经被作者于2014-8-2 12:31:28编辑过]

--  作者:blackzhu
--  发布时间:2014/8/2 12:39:00
--  
你有无判断触发列名
--  作者:skyman1188
--  发布时间:2014/8/2 13:12:00
--  有判断的
有判断的,我的意思是,之前的版本在初始化多列的值后 DataColChanged事件就触发一次。
新的版本初始化多少个列DataColChanged事件就出发多少次。这个是他们之间的区别对吗?

--  作者:blackzhu
--  发布时间:2014/8/2 13:34:00
--  
不可能的,你写了多少列的判断 就会触发多少列的 
--  作者:skyman1188
--  发布时间:2014/8/2 15:29:00
--  结果确实不一样
我用老版本的和新版本的执行相同的程序后,确实结果是不同的,因为我在最后一列显示了当前执行的流程步骤,执行下来结果确实是不一样,我反复测试过的。不过新的版本加几行代码可以解决这个问题。
新版本可以跨版本完全升级,是非常有用的,不然像以前那样的不敢随便升级,要所有人重新下载,很麻烦。