以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮我看看这个代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78000)

--  作者:blackzhu
--  发布时间:2015/11/30 12:27:00
--  帮我看看这个代码
Dim nms As new List(of String)
Dim nms1 As New List(of String)
Dim str As String
Dim str1 As String
Dim str2 As String
str2 = Tables("角色授权_Table1").Current("角色授权")
If str2 >"" Then
    For Each s As String In str2.Split(",")
        Dim mc = System.Text.RegularExpressions.Regex.Matches(s, "(.+?[%sS])|(.+$)")
        str = str & "," & mc(0).Value.Split(".")(0)
        str1 = str1 & "," & mc(0).Value.Split(".")(1)
    Next
End If
nms.AddRange(str.Split(","))
nms1.AddRange(str1.Split(","))

For Each nd As WinForm.TreeNode In tv.AllNodes
    If nd.Level = 0 Then
        nd.Checked = nms.Contains(nd.Name)
    Else If nd.Level = 1 Then
        nd.Checked = nms1.Contains(nd.Name) And nms.Contains(nd.ParentNode.Name)
    End If
Next

tv.ResumeRedraw


当前行不为空的话,目录树根据当前的数据勾选节点,但是为空的时候,也勾选了. 这个不应该呀  我已经判断 str2 必须不为空
[此贴子已经被作者于2015/11/30 12:27:39编辑过]

--  作者:逛逛
--  发布时间:2015/11/30 13:15:00
--  
以下是引用blackzhu在2015/11/30 12:27:00的发言:
Dim nms As new List(of String)
Dim nms1 As New List(of String)
Dim str As String
Dim str1 As String
Dim str2 As String
str2 = Tables("角色授权_Table1").Current("角色授权")
If str2 >"" Then
    For Each s As String In str2.Split(",")
        Dim mc = System.Text.RegularExpressions.Regex.Matches(s, "(.+?[%sS])|(.+$)")
        str = str & "," & mc(0).Value.Split(".")(0)
        str1 = str1 & "," & mc(0).Value.Split(".")(1)
    Next

   nms.AddRange(str.Split(","))
   nms1.AddRange(str1.Split(","))
End If
For Each nd As WinForm.TreeNode In tv.AllNodes
    If nd.Level = 0 Then
        nd.Checked = nms.Contains(nd.Name)
    Else If nd.Level = 1 Then
        nd.Checked = nms1.Contains(nd.Name) And nms.Contains(nd.ParentNode.Name)
    End If
Next

tv.ResumeRedraw


当前行不为空的话,目录树根据当前的数据勾选节点,但是为空的时候,也勾选了. 这个不应该呀  我已经判断 str2 必须不为空
[此贴子已经被作者于2015/11/30 12:27:39编辑过]


--  作者:blackzhu
--  发布时间:2015/11/30 13:45:00
--  
老大  这个我试过了 貌似不行


--  作者:blackzhu
--  发布时间:2015/11/30 13:54:00
--  
还是老样子,不行
--  作者:逛逛
--  发布时间:2015/11/30 14:15:00
--  
上个实例,测一下。
--  作者:blackzhu
--  发布时间:2015/11/30 14:22:00
--  
==  我做个试试
还挺麻烦的

--  作者:大红袍
--  发布时间:2015/11/30 14:28:00
--  

弹出str、str1看一下,

 

然后弹出一下节点的那么看一下。


--  作者:blackzhu
--  发布时间:2015/11/30 14:39:00
--  
帮我看下

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



--  作者:大红袍
--  发布时间:2015/11/30 15:04:00
--  
测试,代码没问题,代码不要写在afterLoad事件,写到 DropDownOpening
--  作者:blackzhu
--  发布时间:2015/11/30 15:19:00
--  
试过,正确 谢谢!
[此贴子已经被作者于2015/11/30 15:20:02编辑过]