Foxtable(狐表)用户栏目专家坐堂 → [求助]如何目录树复选框取值?


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

主题:[求助]如何目录树复选框取值?

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
[求助]如何目录树复选框取值?  发帖心情 Post By:2011/8/13 22:44:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
取值要求:
1、从选中的子级复选框取值,取的值为姓名后的“数字”;
2、复选框只允许能选中一个,不允许多选;
3、如果子级复选框处于未选中状态,选择其他父级时,自动退回父级。
[此贴子已经被作者于2011-8-13 22:54:15编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2011/8/14 0:55:00 [只看该作者]

1、   这样???


Dim tv As WinForm.TreeView
tv = Forms("窗口1").Controls("TreeView1")
Dim sz As String
Dim nd As WinForm.TreeNode
For i As Integer = 0 To tv.Nodes.Count -1
For ii As Integer = 0 To tv.Nodes.Count -1
    If tv.Nodes(i).nodes(ii).Checked = True   'AndAlso tv.Node.Level = 1
        sz = tv.Nodes(i).nodes(ii).FullPath.Split("\")(1).trim("|").split(":")(1)
    End If
Next
Next
output.show(sz)

[此贴子已经被作者于2011-8-14 10:12:55编辑过]

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/14 8:28:00 [只看该作者]

问题没有解决,代码有错误。

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


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

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If e.node.Level =1 Then
    If e.node.Checked Then
        For Each nd As WinForm.TreeNode In trv.AllNodes
            If nd.FullPath <> e.node.FullPath  Then
                nd.Checked = False
            End If
        Next
        messagebox.show(e.node.text.split(":")(1))
    End If
End If

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/8/14 11:18:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-14 9:18:00的发言:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If e.node.Level =1 Then
    If e.node.Checked Then
        For Each nd As WinForm.TreeNode In trv.AllNodes
            If nd.FullPath <> e.node.FullPath  Then
                nd.Checked = False
            End If
        Next
        messagebox.show(e.node.text.split(":")(1))
    End If
End If

不够通用

有时候贺老师是头痛医头,脚痛医脚。

应该解决事先不知是几级子目录的问题。


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2011/8/14 11:45:00 [只看该作者]

以下是引用lihe60在2011-8-14 11:18:00的发言:

不够通用

有时候贺老师是头痛医头,脚痛医脚。

应该解决事先不知是几级子目录的问题。

这才是好大夫,西医都这样,嘿嘿。

把 If e.node.Level =1 Then 去掉就可以通用了吧。 这是为了效率而使用的。

[此贴子已经被作者于2011-8-14 11:47:38编辑过]

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/14 13:39:00 [只看该作者]

问题没有解决,老师的代码错误。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复件 住院收费.rar


费用结算窗口

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/14 14:58:00 [只看该作者]

问题尚待解决,老师们请进!

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/14 16:35:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-14 9:18:00的发言:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If e.node.Level =1 Then
    If e.node.Checked Then
        For Each nd As WinForm.TreeNode In trv.AllNodes
            If nd.FullPath <> e.node.FullPath  Then
                nd.Checked = False
            End If
        Next
        messagebox.show(e.node.text.split(":")(1))
    End If
End If
贺老师的代码怎么也会出现错误,代码写进去后根本确定不了。


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


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

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


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