以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这样的提示是什么意见?如何改进? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19047) |
||||
-- 作者:y2287958 -- 发布时间:2012/4/25 20:26:00 -- 这样的提示是什么意见?如何改进? RT 代码如下,但却出现如图提示,请帮助!
If e.DataCol.Name = "第三列" 期待答复,谢谢! |
||||
-- 作者:y2287958 -- 发布时间:2012/4/25 20:48:00 -- 这是文件。
|
||||
-- 作者:程兴刚 -- 发布时间:2012/4/25 20:57:00 -- 没有这么用的!
第一、第三列的内容必须是数值, 第二、当第三列再度变化,又会变成非数值型 第三、如果您在第二列分别输入:9、8、7、6、5、4、3、2、1、0并逐个回车分割,再在第三列输入任意0~9的数字,程序会进入无限循环地更新第三列的值,导致foxtable崩溃并自动退出。
不明白您得意图,也就无法帮您解决或者修改代码! [此贴子已经被作者于2012-4-25 21:02:58编辑过]
|
||||
-- 作者:y2287958 -- 发布时间:2012/4/25 21:01:00 -- 这只是练习过程的一次试验,只是想知道原因而已。 谢谢指导!
[此贴子已经被作者于2012-4-25 21:09:21编辑过]
|
||||
-- 作者:程兴刚 -- 发布时间:2012/4/25 21:29:00 -- 以下是引用y2287958在2012-4-25 21:01:00的发言:
这只是练习过程的一次试验,只是想知道原因而已。 谢谢指导!
[此贴子已经被作者于2012-4-25 21:09:21编辑过]
我告诉您原因:
第一、因为这个:ss(e.NewValue),这里的参数必须是数字,而且不能超过集合总数的范围,所以,必须具备两个条件:1、数值。2、这个数值不能超过集合范围; 第二、因为第二列包含了非数值内容,加入在第三列输入的值符合要求,但e.DataRow("第三列") = ss(e.NewValue)代码的原因又会得到非数值的字符串,导致第一条错误的产生; 第三、加入第二列的值是这样: 9 6 5 4 3 2 1 0 假如您在第三列输入0,得到的是9,当第三列变成9,根据您得代码又返回0,假如您输入3,得到的是6,当第三列变成6,根据您的代码返回的是3……如此这般,程序自然就死翘翘了!
|