Foxtable(狐表)用户栏目专家坐堂 → [求助]插入节点


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

主题:[求助]插入节点

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]插入节点  发帖心情 Post By:2015/6/5 14:21:00 [只看该作者]

老师,
    对于插入节点不是特别清楚,求老师解疑:
例子在在老板前“插入角色”,发现两个问题
1、在老板上 插入结构,发现新增加的节点也会继承老板的“使用”状态,导致“问题1”的Button 不可用
2、”架构“表,同样又增加一行”老板“
求老师指点及代码。

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



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


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

这个意思?

 


        Case 0
            ns = tr.Nodes.Insert("新架构"& tr.Nodes.Count()+1,id)
            tr.SelectedNode=ns
            Dim dr As DataRow = DataTables("架构").AddNew
            dr("架构名称")=ns.FullPath
            dr("使用") = False
            tr.SelectedNode = ns
            MessageBox.Show(ns.Name)
            tr.Select
            tr.BeginEdit
            Vars("numbh")=Vars("numbh")+1


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


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

看到了, dr("架构名称")=ns.FullPath

大红袍老师,

     点击左面的目录树”老板“,点击”插入架构“,会发现”新架构“节点增加进去了,但是这个按钮的状态不对

图片点击可在新窗口打开查看此主题相关图片如下:是否可用与
图片点击可在新窗口打开查看


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


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

同时 表中出现两个"老板"

图片点击可在新窗口打开查看此主题相关图片如下:表里出现两个老板.jpg
图片点击可在新窗口打开查看


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


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

 什么不对,取决于你的赋值啊 dr("使用") = False


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


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

老师,
  dr("使用") = False 去掉一样不行 不是这句的问题 


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


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

老师,
     在”老板“上面插入新节点,达到:
Button 问题1 是否可用 自动根据对应的行”使用“的状态变成可编辑
然后 架构表显示”新架构"

怎么实现

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


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

方法一 根据nd节点的name或text去查找对应的行,然后赋值

 

方法二 生成目录树的时候,用tag属性记录使用的值,需要的时候直接用节点的属性即可


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


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

老师,
   我上传的例子,属于方法一,没看出代码哪里不正确,但是没实现啊。

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


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

老师 ,是不是节点增加进去,但是行还是原来节点的位置呢?
If tr.Nodes.Count=0 Then
    MessageBox.Show("请先增加根节点!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Dim id As Integer = nd.index
    Select nd.Level
        Case 0
            ns = tr.Nodes.Insert("新架构"& tr.Nodes.Count()+1,id)
            tr.SelectedNode=ns
            Dim dr As DataRow = DataTables("架构").AddNew
            dr("架构名称")=ns.FullPath
            dr=DataTables("架构").Find("架构名称='"& ns.FullPath &"'")  重新定位到对应的行
            If dr IsNot Nothing Then
                If dr("使用")=False Then
                    For i=4 To 9
                        e.Form.Controls("Button" & i).Enabled=True
                    Next
                Else
                    For i=4 To 9
                        e.Form.Controls("Button" & i).Enabled=False
                    Next
                End If
            End If
            tr.SelectedNode = ns
            tr.Select
            tr.BeginEdit
            Vars("numbh")=Vars("numbh")+1
        Case Else
            ns= nd.ParentNode.nodes.Insert("点"& tr.Nodes.Count()+1,id)
            tr.SelectedNode=ns
            Dim dr As DataRow = DataTables("架构").AddNew
            dr("架构名称")=ns.FullPath
            dr=DataTables("架构").Find("架构名称='"& ns.FullPath &"'")
            If dr IsNot Nothing Then
                If dr("使用")=False Then
                    For i=4 To 9
                        e.Form.Controls("Button" & i).Enabled=True
                    Next
                Else
                    For i=4 To 9
                        e.Form.Controls("Button" & i).Enabled=False
                    Next
                End If
            End If
            tr.Select
            tr.BeginEdit
            Vars("numbh")=Vars("numbh")+1
    End Select
End If


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