Foxtable(狐表)用户栏目专家坐堂 → 多值字段问题


  共有2358人关注过本帖树形打印复制链接

主题:多值字段问题

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:5733 威望:0 精华:0 注册:2017/12/19 14:46:00
多值字段问题  发帖心情 Post By:2018/10/27 13:52:00 [只看该作者]

表“焊接部件清单”中列“焊接方法”,是由“焊接工艺卡清单中筛选出来的,并且设置了多值字段

PrepareEdit事件

”If e.IsFocusCell Then
    If e.Col.Name = "焊接方法" Then
        e.Col.Combolist = DataTables("焊接工艺卡清单").GetComboListString("焊接方法", "[生产令号] = '" & e.Row("生产令号") & "' And [工艺卡号] = '" & e.Row("工艺卡号") & "'")
    End If
End If

 

现在想实现在“焊接方法”列中勾选某项,则在相应的逻辑列中自动勾选,

编码如下:

Dim ary1() As String = {"焊接方法_GTAW","焊接方法_SMAW","焊接方法_SAW","焊接方法_GMAW"}
Dim ary2() As String = {"焊接方法_GTAW","焊接方法_SMAW","焊接方法_SAW","焊接方法_GMAW"}
If e.DataCol.Name = "焊接方法" Then
    Dim str As String = e.DataRow("焊接方法")
    Dim ary3 = str.split("|")
    For i As Integer = 0 To ary1.length-1
        Dim idx As Integer = array.indexof(ary3, ary1(i))
        If idx >= 0 Then
            e.DataRow(ary2(i)) = True
        Else
            e.DataRow(ary2(i)) = False
        End If
    Next
End If

但是没反应,不知道是哪里有问题?

 


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/27 14:14:00 [只看该作者]

代码看不出什么问题。上传实例看看

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:5733 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/10/27 14:21:00 [只看该作者]

改了下代码搞定了!谢谢!

Dim ary1() As String = {"GTAW","SMAW","SAW","GMAW"}
Dim ary2() As String = {"GTAW","SMAW","SAW","GMAW"}
If e.DataCol.Name = "焊接方法" Then
    Dim str As String = e.DataRow("焊接方法")
    Dim ary3 = str.split("|")
    For i As Integer = 0 To ary1.length-1
        Dim idx As Integer = array.indexof(ary3, ary1(i))
        If idx >= 0 Then
            Tables("焊接部件清单").current(ary2(i)) = True
        Else
            Tables("焊接部件清单").current(ary2(i)) = False
        End If
    Next
ElseEnd If


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:5733 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/10/29 8:44:00 [只看该作者]

“焊接方法”筛选取值后设为多值字段,然后再选择,能不能让多值字段自动显示勾选,不选的进行人工去除

If e.IsFocusCell Then
    If e.Col.Name = "焊接方法" Then
        e.Col.Combolist = DataTables("焊接工艺卡及焊缝清单").GetComboListString("焊接方法", "[生产令号] = '" & e.Row("生产令号") & "' And [工艺卡号] = '" & e.Row("工艺卡号") & "'")
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/29 12:37:00 [只看该作者]

以下是引用13775189031在2018/10/29 8:44:00的发言:

“焊接方法”筛选取值后设为多值字段,然后再选择,能不能让多值字段自动显示勾选,不选的进行人工去除

If e.IsFocusCell Then
    If e.Col.Name = "焊接方法" Then
        e.Col.Combolist = DataTables("焊接工艺卡及焊缝清单").GetComboListString("焊接方法", "[生产令号] = '" & e.Row("生产令号") & "' And [工艺卡号] = '" & e.Row("工艺卡号") & "'")
    End If
End If

 

实例发上来测试吧,你的描述信息不充足。


 回到顶部