以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  目录树生成和统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184182)

--  作者:wlj88868
--  发布时间:2022/11/27 13:17:00
--  目录树生成和统计
老师麻烦你给调试一下,,,生成的不会写麻烦给写一下
图片点击可在新窗口打开查看此主题相关图片如下:1669525893867.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1669526128709.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2022-10-25开发.rar


--  作者:有点蓝
--  发布时间:2022/11/27 20:26:00
--  
如果要做节点编辑,就不要在节点里显示统计数据。保持节点显示的内容和表格的内容完全一致
--  作者:wlj88868
--  发布时间:2022/11/27 21:00:00
--  
老师这里我好像调好了,,就是在窗口表事件统计前加了个DataTables("授权").Load,,现在就是在列名加入了同名的会报错,,不知道那里的原因,麻烦老师给看看,再有帮我再授权表的分组名,表名,做个按钮直接生成的,死活做不出来,谢谢老师了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2022-10-25开发.rar


--  作者:有点蓝
--  发布时间:2022/11/27 21:34:00
--  
按什么步骤测试出错?
--  作者:wlj88868
--  发布时间:2022/11/27 21:47:00
--  
授权--选择2级--增加表名,,重命名的时候,不是同名不会出错,,输入列名是重名就会提示,不知道那句代码需要改
--  作者:wlj88868
--  发布时间:2022/11/27 21:50:00
--  
老师顺便问一下,,授权这里,这里可以把导航的这些按钮也隐藏了,还是要从新做一个控制窗口来控制
--  作者:有点蓝
--  发布时间:2022/11/27 22:07:00
--  
以下是引用wlj88868在2022/11/27 21:47:00的发言:
授权--选择2级--增加表名,,重命名的时候,不是同名不会出错,,输入列名是重名就会提示,不知道那句代码需要改

每个find的结果都要做判断,其它地方自己改

ElseIf e.Node.Level = 1 Then\'重命名权限
    Dim dt As DataTable = DataTables("授权")
    Dim dr As DataRow
    Dim fz As String = e.Node.ParentNode.Name \'获得分组名
    dr = dt.Find("分组名 = \'" & fz & "\' And 表名 = \'" & e.NewText & "\'") \'判断新输入的权限是否存在
    If dr IsNot Nothing Then\'如果存在,取消输入.
        MessageBox.Show("此表名已经存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        e.Cancel = True
    Else
        dr = dt.Find("分组名 = \'" & fz & "\' And 表名 = \'" & e.Node.Name & "\'") \'找出对应的行
        If dr IsNot Nothing Then
            dr("表名") = e.NewText \'重命名权限
        End if
        e.Node.Name = e.NewText \'使得节点的名称和标题保持一致.        
    End If
ElseIf e.Node.Level = 2 Then\'重命名权限
[此贴子已经被作者于2022/11/27 22:06:57编辑过]

--  作者:有点蓝
--  发布时间:2022/11/27 22:09:00
--  
以下是引用wlj88868在2022/11/27 21:50:00的发言:
老师顺便问一下,,授权这里,这里可以把导航的这些按钮也隐藏了,还是要从新做一个控制窗口来控制

根据自己的习惯和喜好用,觉得隐藏按钮方便就隐藏,觉得新作一个窗口好用就新增窗口
--  作者:wlj88868
--  发布时间:2022/11/27 23:34:00
--  

照你的改了,,选择目录树事件单击事件又有问题了,,表名和列名输入不进去了,这里需要怎么改一下呢

 

Dim Filter As String = ""
If e.Node.Name <> "显示所有用户"\' Then Then Then Then Then用Name属性, 不能用Text属性 Then
    Dim js As String = e.Node.DataRow("分组名")
    Dim nm As String = e.Node.DataRow("表名")
    Dim lm As String = e.Node.DataRow("列名")
    Dim Product As String = e.Node.DataRow("列名")
    Select Case e.Node.Level
        Case 0
            Filter = "分组名 = \'" & js & "\'"
        Case 1
            Filter = "分组名 = \'" & js & "\' And 表名 = \'" & nm & "\'"
        Case 2
            Filter = "分组名 = \'" & js & "\' And 表名 = \'" & nm & "\' And 列名 = \'" & lm & "\'"
        Case 3
            Filter = "分组名 = \'" & js & "\' And 表名 = \'" & nm & "\' And 列名 = \'" & lm & "\' And 列名 = \'" & Product & "\'"
    End Select
End If
DataTables("授权").LoadFilter = Filter
DataTables("授权").Load()


--  作者:有点蓝
--  发布时间:2022/11/28 8:36:00
--  
如果要对目录树进行编辑,就不要使用来做筛选或者加载,。因为只有BuildTree等功能生成的目录树才会有e.Node.DataRow,之后手工添加的节点是不会有绑定的行的。编辑和使用分开不同的窗口和控件