Foxtable(狐表)用户栏目专家坐堂 → 多选目录树窗口问题


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

主题:多选目录树窗口问题

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


加好友 发短信
等级:四尾狐 帖子:827 积分:5748 威望:0 精华:0 注册:2017/12/19 14:46:00
多选目录树窗口问题  发帖心情 Post By:2018/6/12 11:00:00 [只看该作者]

窗口afterload事件

Dim cmd As New SQLCommand

Dim dt As DataTable

Dim cmb As WinFor m.ComboBox

cmd.CommandText = "SELECT DISTINCT 发证机构,考试合格项目代号,焊工姓名 Fro m {焊工资质清单}"

dt = cmd.ExecuteReader()

 

Dim trv As WinFor m.TreeView = e.For m.Controls("TreeView1")

trv.BuildTree(dt,"发证机构|考试合格项目代号|焊工姓名")

 

dropdownopened事件

Dim trv As WinFor m.TreeView = e.For m.Controls("TreeView1")

For Each nd As WinFor m.TreeNode In trv.AllNodes

    nd.checked = False

Next

 

click事件

Dim s As String = ""m.TreeNode In trv.AllNodes

    If nd.Checked Then

        s = s & "," & nd.Text

    End If

Next

e.For m.DropDownBox.Value = s.trim(",")

e.For m.DropDownBox.CloseDropdown

 

afteroperproject事件

Tables("焊接工艺卡清单").Cols("焊接方法一_所需焊接资质").DropFor m  = "所需焊接资质项目代号"

Tables("焊接工艺卡清单").Cols("焊接方法二_所需焊接资质").DropFor m  = "所需焊接资质项目代号"

Tables("焊接工艺卡清单").Cols("焊接方法三_所需焊接资质").DropFor m  = "所需焊接资质项目代号"

 

不知道哪里有问题,窗口有时会不显示,总要把项目事件中afteroperproject重新打开一遍才可以!

 


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


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

你是不是按住ctrl不放打开项目的?这种情况不会执行任何代码,所以设置会无效。

 

你是不是还对这些列【焊接方法一_所需焊接资质】设置了别的代码,如 combolist = "xxxx" 这个时候,列会显示下拉项目而不会显示下拉窗口了。


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


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

明白了!


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


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

现在想要把选中的焊工姓名作为其他列的多值字段,该怎么办?

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


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

prepareEdit事件

 

If e.col.name = "第一列" Then

    e.col.combolist = e.row("焊接方法一_所需焊接资质").replace(",", "|")

End If

 

如果还有问题,做个例子上来说明


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


加好友 发短信
等级:四尾狐 帖子:827 积分:5748 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/6/13 11:35:00 [只看该作者]

没问题!
可不可以只选择第二级的“考试合格项目代号”,不勾选“焊工姓名”,在其他列显示“考试合格项目代号”下面焊工姓名

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


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

以下是引用13775189031在2018/6/13 11:35:00的发言:
没问题!
可不可以只选择第二级的“考试合格项目代号”,不勾选“焊工姓名”,在其他列显示“考试合格项目代号”下面焊工姓名

 

看不懂你的需求,做一个实例发上来说明。


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


加好友 发短信
等级:四尾狐 帖子:827 积分:5748 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/6/13 16:39:00 [只看该作者]

If e.col.name = "满足焊工资质" Then

    e.col.combolist = e.row("所需焊接资质").replace(",", "|")

End If


按照以上命令我必须在所需焊接资质”勾选焊工姓名, "满足焊工资质" 列才能出现焊工姓名选项;

但现在所需焊接资质”列要求显示内容为“考试合格项目代号”,不能是焊工姓名;


也就是说要求所需焊接资质”只勾选“考试合格项目代号”,但 "满足焊工资质" 列显示勾选“考试合格项目代号”下面的焊工姓名


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


加好友 发短信
等级:四尾狐 帖子:827 积分:5748 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/6/13 16:39:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


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

If e.Col.name = "满足资质焊工" Then
Dim str As String = e.Row("所需焊接资质").replace(",", "','")
    e.Col.combolist = DataTables("焊工资质清单").GetComboListString("焊工姓名", "考试合格项目代号 in ('" & str & "')")
End If

 回到顶部
总数 17 1 2 下一页