以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- BUG收集 (http://foxtable.net/bbs/list.asp?boardid=12) ---- DataColChanging 和 DataColChanged 变量会串 (http://foxtable.net/bbs/dispbbs.asp?boardid=12&id=146590) |
-- 作者:saumm -- 发布时间:2020/2/27 9:42:00 -- DataColChanging 和 DataColChanged 变量会串 在“销项凭证表”——会计科目 列输入凭证代码,101,102,103(会提示不存在)这样代码都能按预期运行,如果输入下一级代码,如10201之类的,明明有代码,就会提示: DataColChanging的代码: ================ output.show("1 " & e.NewValue) Dim frs As List (of DataRow) = DataTables("科目表").Select("科目代码 like \'" & e.NewValue & "*" & "\'") Dim fr As DataRow = DataTables("科目表").find("科目代码 = \'" & e.NewValue & "\'") output.show("2 " & e.NewValue) If frs.Count > 1 Then MessageBox.Show(e.NewValue & " " & fr("科目名称") & " 不是明细科目") e.Cancel=True End If output.show("3 " & e.NewValue) If frs.Count = 0 Then e.cancel=True MessageBox.Show("未找到科目代码: " & e.NewValue) End If ======================================================================= DataColChanged的代码: ================ output.show("4 " & e.NewValue) Dim fr As DataRow If e.DataCol.Name = "会计科目" Then If e.DataRow.IsNull("会计科目") Then e.DataRow("科目名称") = Nothing Else fr = DataTables("科目表").Find("科目代码= \'" & e.NewValue & "\'") If fr IsNot Nothing Then e.DataRow("科目名称") = fr("科目名称") End If End If End If output.show("5 " & e.NewValue) ================================================================== 科目表的内容: 需要输入凭证代码的表: |
-- 作者:saumm -- 发布时间:2020/2/27 9:43:00 -- 可能这也是一个BUG。 在对项目里的代码进行了一些删除操作后,打开原来的项目,发现虽然没有代码,但是还是会响应双击事件。原设计是双击“销项”表,会执行一系列操作,然后打开EXCEL模板生成的文件,后来我把代码删除了,保存项目后,又把代码粘贴了回来,执行时 提会示“EXCEL已打开”,我怀疑是代码执行了两遍。 又把项目管理中的事件代码都删除了,发现还是会执行原有的事件。。。重启项目重启电脑仍无解。 我把项目文件发上来,和1楼贴子属同一个项目文件,版主看看。 前几天导出的代码文件: ============================================= 这个问题,在删除bin里的dll文件后得到解决,应该还是有些bug所在的,望狐爸能重视一下,要不动不动来一下子,也够忙活的
[此贴子已经被作者于2020/2/29 8:31:49编辑过]
|
-- 作者:saumm -- 发布时间:2020/2/29 9:24:00 -- 找到问题所在了,是自己的粗心大意 在datachanging代码里没有判断列名,导致数据出现错乱。 这次一定能记住。。。
|