Foxtable(狐表)用户栏目专家坐堂 → 关于目录树问题请教


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

主题:关于目录树问题请教

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/14 9:40:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/2/14 10:22:00 [只看该作者]

谢谢甜版。

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/2/14 11:28:00 [只看该作者]

单击节点代码,错误在哪里?我还是没搞明白原理。
Dim tr As WinForm.TreeView
tr = e.Form.Controls("TreeView1")
tr.Select()
Dim nd As WinForm.TreeNode = e.Node
tr.SelectedNode = nd '到这里还没错

Dim dr As DataRow 
dr = nd.DataRow
MessageBox.show(dr("id")) '运行不到这里,已经出错了
'Dim bmxh As String = "部门ID:" & dr("id")
'nd.Tooltip = bmqc & chr(13) & chr(10) & bmxh


[此贴子已经被作者于2019/2/14 11:29:52编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/14 11:57:00 [只看该作者]

参考11楼,不能使用 nd.datarow

 

如果你要用,就用 nd.tag 获取id值


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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/2/14 14:26:00 [只看该作者]

我太笨了,还是不明白。只好再修改一下实例发上来,再请指点。
实例要实现的功能是,删除部门节点之前,先判断部门中有没有人员。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/14 14:48:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/2/14 15:05:00 [只看该作者]

先谢再看!
不行啊老大,出错啦!
那个按钮,带判断的删除节点,代码运行出错:
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode = tr.SelectedNode

Dim bmid As Integer
Dim dr As DataRow = nd.DataRow '获取生成此节点的行
bmid = dr("id")
'以上代码,从部门表中提取bmid
'以下代码,到员工基础表中去筛选,如果部门下面有员工,则不许删除部门
Tables("员工基础表").Filter = "[部门ID] = " & bmid
If Tables("员工基础表").Rows.Count > 0
    MessageBox.show("本部门内有员工,不能删除,只能更改部门名称,或先将部门内员工全部调出后才能删除!","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    e.Cancel = True
    Tables("员工基础表").Filter = "" '取消该表筛选恢复原样
    MainTable = Tables("部门表")
Else
    Dim pth() As String = nd.FullPath.Split("\")
    Select Case nd.Level
        Case 0
            DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "'")
        Case 1
            DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "' And 二级 = '" & pth(1) & "'")
        Case 2
            DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "' And 二级 = '" & pth(1) & "' And 三级 = '" & pth(2) & "'")
        Case 3
            DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "' And 二级 = '" & pth(1) & "' And 三级 = '" & pth(2) & "' and 四级 = '" & pth(3) & "'")
    End Select
    nd.Delete()
End If
tr.Select()
[此贴子已经被作者于2019/2/14 15:09:59编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/14 15:32:00 [只看该作者]

 

自己看【删除】按钮。用nd.tag啊。

 


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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/2/14 15:32:00 [只看该作者]

14楼的

如果你要用,就用 nd.tag 获取id值

看不懂。

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/2/14 15:35:00 [只看该作者]

Dim dr As DataRow = nd.DataRow '获取生成此节点的行
隐约感觉问题出在这一行。
另外,4楼或许有答案,正在试改。

[此贴子已经被作者于2019/2/14 15:39:50编辑过]

 回到顶部
总数 24 上一页 1 2 3 下一页