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


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

主题:目录树请教

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 9:37:00 [显示全部帖子]

 如下

    

      

    

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 16:55:00 [显示全部帖子]

 意思是找到上一个节点和下一个节点在表中的位置,然后插入。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 17:33:00 [显示全部帖子]

 你的例子没有确定按钮,出错的发上来。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 17:55:00 [显示全部帖子]

  测试没有问题。

 

 _Identify 是唯一的递增的;

 

 _Sortkey 用来排序;

 

 index 是 Table的行号。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 19:00:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 20:45:00 [显示全部帖子]

 如果是子节点,又要另外写一套移动的代码的。所以,不建议你修改目录树的时候同步修改表,你最后点击保存的时候,再把树生成表吧。

 

 比如,类似结构。

 

select case e.node.level

 

case 0

 

case 1

    Dim fdr As DataRow = DataTables("表A").Find("区域 = '" & xxx & "' 企业 = '" & yyy & "'", "_Sortkey")

end select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 21:14:00 [显示全部帖子]

 写了一下,发觉实时改变表是很不实际的事,很容易出错。

 

 建议你还是直接用一个保存按钮生成树吧

 

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dt As DataTable = DataTables("表A")
dt.DataRows.Clear
For Each nd As WinForm.TreeNode In tr.AllNodes
    If nd.Nodes.Count = 0 Then
        Dim ary() As String = nd.FullPath.Split("\")
        Dim ndr As DataRow = dt.AddNew
        ndr("区域") = ary(0)
        ndr("企业") = ary(1)
    End If
Next


 回到顶部