Foxtable(狐表)用户栏目专家坐堂 → 有如下一个小项目 本人做了一部分 余下的解决不了 麻烦狐狸帮助一下


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

主题:有如下一个小项目 本人做了一部分 余下的解决不了 麻烦狐狸帮助一下

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/9/1 9:33:00 [只看该作者]

重复问题,可以自己用这个排查一下:

http://www.foxtable.com/help/topics/1485.htm

 

不要太被动,就增加根和增加子两个按钮,跟踪一下index这个变量的值就知道原因了


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/9/1 9:40:00 [只看该作者]

增加子原来的代码是:

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If trv.SelectedNode IsNot Nothing Then
    Dim pd As WinForm.TreeNode = trv.SelectedNode
    Dim Index As Integer = 1
    If pd.Nodes.count > 1 Then
        Index = cint(pd.Nodes(pd.nodes.count - 1).name) + 1
    End If
    Dim nd As WinForm.TreeNode = pd.Nodes.Add(index,"新节点")
    trv.SelectedNode = nd
    trv.Select
    trv.BeginEdit
End If

 

代码改为:

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If trv.SelectedNode IsNot Nothing Then
    Dim pd As WinForm.TreeNode = trv.SelectedNode
    Dim Index As Integer = 1
    If pd.Nodes.count >1 Then
        Index = cint(pd.Nodes(pd.nodes.count - 1).name) + 1
    End If
    messagebox.show(Index)
    Dim nd As WinForm.TreeNode = pd.Nodes.Add(index,"新节点")
    trv.SelectedNode = nd
    trv.Select
    trv.BeginEdit
End If

 

发现增加头两个节点,index都是1,第三次才开始变为2,说明第二次增加的时候下面的代码没有执行:

    If pd.Nodes.count >1 Then
        Index = cint(pd.Nodes(pd.nodes.count - 1).name) + 1
    End If

原因很清楚,第一次执行的时候pd.Nodes.count为0,第二次执行的时候pd.Nodes.count为1,不满足上面的条件判断语句。

 

所以只需将代码改为:

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If trv.SelectedNode IsNot Nothing Then
    Dim pd As WinForm.TreeNode = trv.SelectedNode
    Dim Index As Integer = 1
    If pd.Nodes.count >= 1 Then
        Index = cint(pd.Nodes(pd.nodes.count - 1).name) + 1
    End If
    Dim nd As WinForm.TreeNode = pd.Nodes.Add(index,"新节点")
    trv.SelectedNode = nd
    trv.Select
    trv.BeginEdit
End If

 

就加一个等于号,一切就正常的了,同样增加根有类似的问题,一样加个等于号:

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim Index As Integer = 1
If trv.Nodes.count >= 1 Then
    Index = cint(trv.Nodes(trv.nodes.count - 1).name) + 1
End If
Dim nd As WinForm.TreeNode = trv.Nodes.Add(index,"新节点")
trv.SelectedNode = nd
trv.Select
trv.BeginEdit


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/9/1 9:41:00 [只看该作者]

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


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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/9/1 9:44:00 [只看该作者]

也可以这样理解,只不过是销售单中有类别编码 类别名称 两个字段

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/9/1 9:47:00 [只看该作者]

我很欣赏狐爸刚才给我写的 管理项目4 就是在运行过程中 ,项目中的第一列 会出现重复 ,麻烦狐爸 再看一下
 

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


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

看11、12、13楼

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/9/1 9:50:00 [只看该作者]

12楼和13楼的帖子,你没有看吗?

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/9/1 10:10:00 [只看该作者]

行了 谢谢狐爸耐心指导 


 回到顶部
总数 18 上一页 1 2