Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口控件联动 代码修改


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

主题:[求助]窗口控件联动 代码修改

帅哥哟,离线,有人找我吗?
suliao9641
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
[求助]窗口控件联动 代码修改  发帖心情 Post By:2020/4/8 13:11:00 [显示全部帖子]

Dim str As String =e.Form.Controls("cplx").Value '控件1值
Dim str1 As String '控件2名称
Dim str2 As String '控件2值
Dim str3 As String '控件3名称
For Each ctl As WinForm.Control In e.Form.Controls '遍历所有控件
    If TypeOf ctl Is WinForm.ComboBox Then
        str1 = e.Form.Controls(ctl.Name) '
        str2= e.Form.Controls(str1).Value '效果:
        str3 = "dw"&Right(str1,1) '  控件2名称=”fjmc1” 有1-20个 对应 控件3名称=”dw1”有1-20个
        If str2 = Nothing  Then '控件2值为空,那么控件3值为空
            e.Form.Controls(str3).value = Nothing '效果:控件3值为空
        Else
            e.Form.Controls(str3).value =DataTables("字典").Find(str&"_辅件_名称" = str2,str&"_辅件_单位")  '控件3值          '
            '查找字典表 str&"_辅件_名称" 列 对应 str&"_辅件_单位"的数据
        End If
    End If
Next
'整体思路,当控件2选择后,根据其值不同在控件3中自动填入字典表的对应单位,目前的问题就是控件3赋值,代码写不好


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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
  发帖心情 Post By:2020/4/8 14:59:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20200408145402.png
图片点击可在新窗口打开查看
第二处值改变,第三处值根据 字典表查找自动填入
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20200408145533.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
回复:(有点蓝)没看懂。截图说明一下  发帖心情 Post By:2020/4/8 15:00:00 [显示全部帖子]

其实就类似 以前易表的 FINDTEXT功能

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
回复:(有点蓝)控件2名称是不是都是fjmc开头,控件3是...  发帖心情 Post By:2020/4/9 9:51:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:jdfw.gif
图片点击可在新窗口打开查看
蓝老师,这个代码还差一点点。
不加MessageBox点击后没有效果
如果加上MessageBox调试有值输入,但是同时会清空其他的值

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20200409094826.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
  发帖心情 Post By:2020/4/9 9:53:00 [显示全部帖子]

If e.sender.name Like "fjxx*"  Then
    Dim str As String =e.Form.Controls("cplx").Value
    'MessageBox.Show(str)
    Dim str2 As String ="dw" & e.sender.name.replace("fjxx","")
    MessageBox.Show(str2)
    'If str = Nothing  Then
    '    e.Form.Controls(str2).text = Nothing
   ' Else
        Dim dr As  DataRow= DataTables("字典").Find(str & "_辅件_名称 = '" & e.sender.text & "'")
        ' MessageBox.Show(str & "_辅件_单位")
        If dr IsNot Nothing Then
            e.Form.Controls(str2).text = dr(str & "_辅件_单位")
        End If
    'End If
End If

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
  发帖心情 Post By:2020/4/9 11:05:00 [显示全部帖子]

这里是全部代码

If e.sender.name Like "cplx"  Then
    For Each ctl As WinForm.Control In e.Form.Controls '遍历所有控件
        Dim cmb As WinForm.ComboBox
        If TypeOf ctl Is WinForm.ComboBox Then
            cmb = e.Form.Controls(ctl.Name)
            Dim str As String =e.Form.Controls("cplx").Value
            If str = Nothing  Then
                cmb.ComboList = Nothing
            Else
                If ctl.Name Like "bwmc*" Then
                    cmb.ComboList = DataTables("字典").GetComboListString(str & "_部位名称", str & "_部位名称 is not null")
                ElseIf  ctl.Name Like "fjxx*" Then
                    cmb.ComboList = DataTables("字典").GetComboListString(str & "_辅件_名称", str & "_辅件_名称 is not null")
                End If
            End If
        End If
    Next
ElseIf e.sender.name Like "fjxx*"  Then
    Dim str As String =e.Form.Controls("cplx").Value
    'MessageBox.Show(str)
    Dim str2 As String ="dw" & e.sender.name.replace("fjxx","")
    'MessageBox.Show(str2)
    'If str = Nothing  Then
    '    e.Form.Controls(str2).text = Nothing
   ' Else
        Dim dr As  DataRow= DataTables("字典").Find(str & "_辅件_名称 = '" & e.sender.text & "'")
        ' MessageBox.Show(str & "_辅件_单位")
        If dr IsNot Nothing Then
            e.Form.Controls(str2).text = dr(str & "_辅件_单位")
        End If
    'End If
End If
图片点击可在新窗口打开查看此主题相关图片如下:jdfw.gif
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
回复:(有点蓝)这个代码不可能会清空其它控件数据。...  发帖心情 Post By:2020/4/9 11:06:00 [显示全部帖子]

请老师再看看,哪里出了问题

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
回复:(有点蓝)If 里面的代码仿照elseif里面的...  发帖心情 Post By:2020/4/9 14:50:00 [显示全部帖子]

整个窗口就这一出有代码。其他控件都没有代码
好纠结本来想改成联动减少人工操作。愣是搞了2天没搞出来

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
回复:(suliao9641)回复:(有点蓝)这个代码不可能...  发帖心情 Post By:2020/4/9 16:58:00 [显示全部帖子]

做了个简单的例子,请老师看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


 回到顶部