以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教代码互斥的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83824) |
||||
-- 作者:douglas738888 -- 发布时间:2016/4/18 10:06:00 -- 请教代码互斥的问题 请教老师,下面测试例子存在几个问题, 变电副表(主表)与策划转换(子表)建立了关联 问题: 1. 策划转换表勾选逻辑列“审核完成”,变电副表对应的逻辑列进行勾选没有问题,但是,在策划转换表的DataColChanged代码与窗口“策划转换”的转换按钮代码会 形成互斥,当点击水平转换垂直按钮时,报错在策划转换表的DataColChanged。 2. 想实现,在窗口“策划转换”由水平表转换为垂直表的时候,如果策划转换表已转换某行后,再按转换按钮时,索引号一样的行将不进行转换(避免重复)增加行,对此我 设置了避免重复值的代码,但是最后一次转换的行在窗口显示时总是多一行显示。
|
||||
-- 作者:大红袍 -- 发布时间:2016/4/18 10:33:00 -- 1、如何测试会报错啊?我测试没问题。
2、代码
Dim cs() As String = {"设计程序_设计","校对程序_校对","审核程序_审核","批准程序_批准"} |
||||
-- 作者:douglas738888 -- 发布时间:2016/4/18 10:40:00 -- 对不起,我发的例子文件, 因为代码互斥,在策划转换表的DataColChanged勾选逻辑列代码没有启动,需要消除每行代码前的 \'. 当这些代码启动后,打开窗口策划转换,点击水平转换垂直按钮就报错了, 调用目标........
|
||||
-- 作者:大红袍 -- 发布时间:2016/4/18 11:06:00 -- 用了2楼的代码,勾选测试不会报错啊。 |
||||
-- 作者:douglas738888 -- 发布时间:2016/4/18 11:35:00 -- 老师,如果勾选已经转换的行是不会报错,如果把策划转换表里的行全部删除重新转换,或者转换新行的时候,点击窗口策划转换里面的转换按钮就开始报错了。 |
||||
-- 作者:大红袍 -- 发布时间:2016/4/18 11:42:00 -- If e.DataCol.Name = "审核完成" Then Dim fdr As DataRow = DataTables("变电副表").find("索引号 = \'" & e.DataRow("索引号") & "\'") If fdr IsNot Nothing Then Dim str As String = e.DataRow("审批流程") If str.length >= 2 Then str = str.SubString(0,str.length -2) If fdr.DataTable.DataCols.Contains(str & "完成") Then fdr(str & "完成") = e.DataRow("审核完成") End If End If End If End If |