以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  目录树选定后赋值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67649)

--  作者:blsu33
--  发布时间:2015/4/28 14:14:00
--  目录树选定后赋值
老师,
目录树选定后,可以达到筛选,但是赋值“角色”不成功,会是哪里的问题呢?
If Vars("Tree") = True Then
    Dim tr1 As WinForm.TreeView = e.Form.Controls("TreeView1")
    Dim tr2 As WinForm.TreeView = e.Form.Controls("TreeView2")
    Dim nd1 As WinForm.TreeNode = tr1.SelectedNode
    Dim nd2 As WinForm.TreeNode = tr2.SelectedNode
    Dim Vals() As String = ND2.FullPath.Split("\\")
    Dim Filter As String
    Select Case nd2.Level
        Case 0
            DataTables("权限管理").LoadFilter= "功能主模块  = \'" & Vals(0) & "\'"
            DataTables("权限管理").Load
        Case 1
            DataTables("权限管理").Loadfilter= "功能主模块  = \'" & Vals(0) & "\' AND 一级模块 = \'" & Vals(1) & "\'"
            DataTables("权限管理").Load
        Case 2
            DataTables("权限管理").Loadfilter= "功能主模块  = \'" & Vals(0) & "\' AND 一级模块 = \'" & Vals(1) & "\' AND 二级模块 = \'" & Vals(2) & "\'"
            DataTables("权限管理").Load
        Case 3
            DataTables("权限管理").Loadfilter= "功能主模块  = \'" & Vals(0) & "\' AND 一级模块 = \'" & Vals(1) & "\' AND 二级模块 = \'" & Vals(2) & "\' AND 权限 = \'" & Vals(3) & "\'"
            DataTables("权限管理").Load
    End Select
    Dim dr As DataRow
    If dr IsNot Nothing Then
        If nd2.Checked = True Then
            dr("角色") = nd1.Text + "\\" + dr("角色")
        Else
            dr("角色") = dr("角色").Replace(nd1.Text,"")
        End If
        dr("角色") = dr("角色").Trim("\\")
        DataTables("权限管理").save
    End If
    
    For Each nd As WinForm.TreeNode In e.Node.AllNodes
        nd.Checked  = e.Node.Checked
    Next
End If

--  作者:Bin
--  发布时间:2015/4/28 14:17:00
--  
 If dr IsNot Nothing Then

执行

messagebox.show(dr IsNot Nothing )   看看结果是什么,是否没有找到对应的行

--  作者:blsu33
--  发布时间:2015/4/28 14:25:00
--  
老师 ,
没有反应 没有出现 messagebox.show(dr IsNot Nothing 

--  作者:Bin
--  发布时间:2015/4/28 14:26:00
--  
写在IF外面
--  作者:blsu33
--  发布时间:2015/4/28 14:31:00
--  
结果是False
--  作者:Bin
--  发布时间:2015/4/28 14:31:00
--  
说明没有找到对应的DR 说明查找条件不对,或者没有符合条件的行
--  作者:Bin
--  发布时间:2015/4/28 14:32:00
--  
等一下..你的查找代码怎么变筛选代码了.

   DataTables("权限管理").LoadFilter= "功能主模块  = \'" & Vals(0) & "\'"
            DataTables("权限管理").Load

这之前明明是查找代码的啊,你怎么改成加载代码了?  那么你DR永远都是空的啊

你这个不要改成这样啊.就按照你原来那样啊 按照帮助那样啊

--  作者:blsu33
--  发布时间:2015/4/28 14:46:00
--  
老师,
   想要达到效果是希望点击权限,把FullPath 对应的所有“角色”列赋值,不是Find 的第一条记录,权限目录树的效果如附件。



[此贴子已经被作者于2015/4/28 14:53:06编辑过]

--  作者:Bin
--  发布时间:2015/4/28 14:48:00
--  
就是FIND按照帮助的做,你原来的那么做就对了. 只要条件对.FIND到对应的行,就没问题


--  作者:blsu33
--  发布时间:2015/4/28 14:48:00
--  
数据源
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:110.rar