Foxtable(狐表)用户栏目专家坐堂 → [求助]关于TreeView的求助


  共有2817人关注过本帖平板打印复制链接

主题:[求助]关于TreeView的求助

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]关于TreeView的求助  发帖心情 Post By:2015/8/5 14:32:00 [只看该作者]


项目中有一指定经办人的功能,我用了以下方法实现:
在窗口中有一TreeView,窗口的样子与代码如下:

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

AfterCheckNode

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")

Dim nd1 As WinForm.TreeNode = trv1.SelectedNode

Dim dr As DataRow

If e.Node.ParentNode IsNot Nothing Then '取消父节点的选中标记,因为选中子节点,就不要选中父节点了

    e.Node.ParentNode.Checked = False

End If

For Each cnd As WinForm.TreeNode In e.Node.Nodes '取消子节点的选中标记,因为选中父节点,就不要选中子节点了

    cnd.Checked = False

Next

If nd1.Level = 0 Then

    dr = _dt事务经办人员指派.Find("分组 = '" & nd1.Name & "' And 事务 Is Null")

Else

    dr = _dt事务经办人员指派.Find("分组 = '" & nd1.ParentNode.Name & "' And 事务 = '" & nd1.Name & "'")

End If

If dr IsNot Nothing Then

    Dim nms As String

    For Each nd2 As WinForm.TreeNode In trv2.AllNodes

        If nd2.Checked  Then

            nms  = nms & "," &  nd2.Name

        End If

    Next

    If nms > "" Then

        dr("经办人员") = nms.Trim(",")

    Else

        dr("经办人员") = Nothing

    End If

End If


在后台中有一表,结构如下:


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


我现在求助的是,假定我在“冷轧作业区”上打个勾,下面的子节点不打勾,在后台的结果如下图:


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150805142755.jpg
图片点击可在新窗口打开查看
而我现在希望的是在父结点上打了勾后,下面的子结点全部也勾上,这样后台的表上就会有这些员工的名字,方便我在其他表上引用,

但同时,“冷轧作业区”不能出现在后台表上,这个根本不是员工的名字。

谢谢!



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