Foxtable(狐表)用户栏目专家坐堂 → 代码有误


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

主题:代码有误

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
代码有误  发帖心情 Post By:2015/5/22 10:25:00 [只看该作者]

老师,
  下列代码写的有问题,麻烦老师给看下,那里有误
Dim Values() As String
Dim Values2() As String
For Each dr As DataRow In DataTables("角色").DataRows
    Values=dr("角色").split("\")
    For Index As Integer = 0 To Values.Length - 1
        If Values2.Contains(Values)=False Then
            Values2.Insert(0,Values)
        Else
            Values2.Replace(Values,"")
        End If
    Next
Next

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/22 10:26:00 [只看该作者]

出现什么问题? 你想实现什么效果?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/22 10:30:00 [只看该作者]

根据你的代码 Values2是个数组 
数租是没有Insert Replace 等这些函数的




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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/5/22 10:54:00 [只看该作者]

老师,
角色重命名,希望替换权限里面的原来角色名称,怎么实现

希望在目录树的AfterEditNode  或是保存按钮中完成 替换


例如 角色财务经理 更改为财务 

希望角色里面角色 更改为财务的同时,权限里面的同样更改


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:角色重命名权限角色列的替换.foxdb



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/22 10:56:00 [只看该作者]

看3楼解释,是否能解决你问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 11:02:00 [只看该作者]

For Each dr As DataRow In DataTables("角色").DataRows
    Dim str As String = ""
    For Each s As String In dr("角色").split("\")
        If s = e.Node.Text Then
            str &= e.NewText & "\"
        Else
            str &= s & "\"
        End If
    Next
    dr("角色") = str.trim("\")
Next

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/5/22 11:33:00 [只看该作者]

老师,
AfterEditNode 代码如下,但是不起作用,求老师给看看

Dim dt As DataTable = DataTables("角色")
Dim dr As DataRow
Dim dr2 As DataRow
If e.NewText = "" Then
    e.Cancel = True
Else
    dr = dt.Find("角色 = '" & e.NewText & "'") '判断新输入的分组是否存在
    If dr IsNot Nothing '如果存在,取消输入.
        MessageBox.Show("此角色已经存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        e.cancel = True
    ElseIf e.Node.Nodes.Count>0 Then
        MessageBox.Show("存在下级,请删除下级后再修改!")
        e.Cancel = True
    Else
        For Each dr In dt.Select("角色 like  '\" & e.NewText & "%' Or 角色 Like '%" & e.NewText & "\' or  角色 Like '%\" & e.NewText & "\%' or 角色 ='" & e.NewText & "'" )'重命名分组
            dr("角色") =dr("角色") .Replace(e.NewText,"")
        Next
        e.Node.Name = e.NewText '使得节点的名称和标题保持一致.
    End If
End If

Dim Values() As String
Dim Values2 As New List(Of String)
For Each dr3 As DataRow In DataTables("角色").DataRows
    Values=dr3("角色").split("\")
    For Index As Integer = 0 To Values.Length - 1
        If Values2.Contains(Values(Index))=False Then
            Values2.Insert(0,Values(Index))
        Else
            Values2.Remove(Values(Index))
        End If
    Next
Next
For Each Values3 As String In Values2
    Dim drs As List(Of DataRow) = DataTables("权限").Select("角色 like  '\" & Values3 & "%' Or 角色 Like '%" & Values3 & "\' or  角色 Like '%\" & Values3 & "\%' or 角色 ='" & Values3 & "'" )'重命名分组
    For n As Integer = 0 To drs.Count - 1
        If drs(n)("角色").Contains("Values3")
            drs(n)("角色") = drs(n)("角色").Replace(Values3,"")
        End If
    Next
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 11:40:00 [只看该作者]

 不明你想做什么啊?看6楼代码。

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/5/22 11:42:00 [只看该作者]

大红袍,
   6楼代码对角色的表有效果,但是对权限表,没有,能帮我再看看嘛。图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 11:53:00 [只看该作者]

代码拷贝一份就行

 

For Each dr As DataRow In DataTables("角色").DataRows
    Dim str As String = ""
    For Each s As String In dr("角色").split("\")
        If s = e.Node.Text Then
            str &= e.NewText & "\"
        Else
            str &= s & "\"
        End If
    Next
    dr("角色") = str.trim("\")
Next

For Each dr As DataRow In DataTables("权限").DataRows
    Dim str As String = ""
    For Each s As String In dr("角色").split("\")
        If s = e.Node.Text Then
            str &= e.NewText & "\"
        Else
            str &= s & "\"
        End If
    Next
    dr("角色") = str.trim("\")
Next


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