以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Exception has been thrown by the target of an invocation. (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104902) |
||||
-- 作者:G流星雨 -- 发布时间:2017/8/8 10:49:00 -- Exception has been thrown by the target of an invocation. .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2017.8.3.1 错误所在事件:表,产品检验表1,DataColChanged 详细错误信息: Exception has been thrown by the target of an invocation. startIndex cannot be larger than length of string. Parameter name: startIndex \'If e.DataCol.Name = "结论" AndAlso e.DataRow("外观_壳体") = "OK" AndAlso e.DataRow("外观_包装") = "OK" AndAlso e.DataRow("性能_异响") = "OK" AndAlso e.DataRow("性能_功能") = "OK" Then \' \'e.DataRow("结论") = "合格" \' \'Else \'e.DataRow("结论") = "不合格" \'End If \' \'e.DataRow("作业员")= e.DataRow("条形码").SubString(4,2) 全部注释掉,仍然报错,不知道问题在哪?
|
||||
-- 作者:有点色 -- 发布时间:2017/8/8 10:52:00 -- 你datacolchanged事件的全部代码贴出来看看。
或者自行定位出错位置 http://www.foxtable.com/webhelp/scr/1485.htm
|
||||
-- 作者:G流星雨 -- 发布时间:2017/8/8 10:55:00 -- If e.DataCol.Name = "结论" AndAlso e.DataRow("外观_壳体") = "OK" AndAlso e.DataRow("外观_包装") = "OK" AndAlso e.DataRow("性能_异响") = "OK" AndAlso e.DataRow("性能_功能") = "OK" Then e.DataRow("结论") = "合格" Else e.DataRow("结论") = "不合格" End If e.DataRow("作业员")= e.DataRow("条形码").SubString(4,2) 全部代码,就是全部注释掉,也报上面的错误
[此贴子已经被作者于2017/8/8 10:56:16编辑过]
|
||||
-- 作者:有点色 -- 发布时间:2017/8/8 10:58:00 -- 去看表【产品检验表1】的DataColChanged事件;再去看 全局表事件的DataColChanged事件。
肯定有影响的代码 。 |
||||
-- 作者:G流星雨 -- 发布时间:2017/8/8 10:58:00 -- If e.DataCol.Name = "条形码" Then Dim dr As DataRow dr = e.DataTable.Find("条形码 = \'" & e.NewValue & "\'") If dr IsNot Nothing AndAlso dr("结论") = "合格" Then \'\'判定重复扫码 dr("维修后测试结果")="重复扫码" MessageBox.Show("此条形码已经存在!","提示", MessageBoxButtons.YesNo) e.DataRow.Delete() Else dr("维修后测试结果")="维修合格" \'\'判定维修 \'\'e.Cancel = True e.DataRow.Delete() End If End If 上面的代码是DataColChanging,我把datacolchanged代码删掉,会报DataColChanging错误
|
||||
-- 作者:有点色 -- 发布时间:2017/8/8 11:04:00 -- 以下是引用G流星雨在2017/8/8 10:58:00的发言
上面的代码是DataColChanging,我把datacolchanged代码删掉,会报DataColChanging错误
报什么错?
尽量不要在datacolchanging等事件删除行,如果要删除行,你应该在事件前后加上systemready的代码。
http://www.foxtable.com/webhelp/scr/2218.htm
做个具体例子上来测试。 |
||||
-- 作者:G流星雨 -- 发布时间:2017/8/8 12:22:00 --
例子在附件 |
||||
-- 作者:G流星雨 -- 发布时间:2017/8/8 13:11:00 -- .NET Framework 版本:2.0.50727.3655
另外:条形码输入不重复的数值会判定重复 |
||||
-- 作者:有点甜 -- 发布时间:2017/8/8 14:29:00 --
|
||||
-- 作者:G流星雨 -- 发布时间:2017/8/8 15:54:00 -- 非常感谢,让您费心了,如图片所示,我需要实现的功能。 一直搞不定,望指点 1、条形码内不能有重复的选项, 2、重复的条码扫入会有两个判断,如果结论合格,原来的条码后备注重复扫码;如果结论不合格,原来的条码后面备注维修合格。 3、重复增加的条码删除 此主题相关图片如下:1111111.bmp [此贴子已经被作者于2017/8/8 16:03:29编辑过]
|