以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 请教,关于目录树根据条件判断,复选框自动选择 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5954)
|
-- 作者:baoxyang
-- 发布时间:2010/2/8 14:28:00
-- 请教,关于目录树根据条件判断,复选框自动选择
关于目录树来一个表数据,如果有一列为复选框为是否选中列值(true为自动选中,false为不选),请教加载目录树时如果根据表列来判断?
|
-- 作者:yangming
-- 发布时间:2010/2/8 16:51:00
--
没明白楼主的意思,是否是根据复选框的内部来选择加载目录树?最好做个示例
|
-- 作者:mr725
-- 发布时间:2010/2/8 16:52:00
--
不是有加载条件嘛:
BuildDataTree(DataTable, Filter, Column1, Column2, Column3...)
DataTableName: 数据表名 DataTable: 数据表 Filter: 过滤条件 Column1,Column3,Column3:数据列名称,用这些列的数据生成目录树,可以指定多列。
实例:
|
-- 作者:baoxyang
-- 发布时间:2010/2/9 8:58:00
--
Sorry!没有说清楚,误解。在目录树中,知道目录名称变量,如何判断此目录树中具有相同名称的那项来被选中?谢了!不知是否说清楚没。
|
-- 作者:baoxyang
-- 发布时间:2010/2/9 9:44:00
--
如果变量名称为节点名称为“6602=管理费用\\6602.06=社会保险费\\6602.06.01=养老”时,查找节点路径等于变量名称时,此节点设为选中状态,如何实现?本人对目录集合还不是很清楚,请各位帮忙下。谢谢!! 此主题相关图片如下:11.jpg
|
-- 作者:mr725
-- 发布时间:2010/2/10 0:35:00
--
狐表的这框框有些怪, 从逻辑上说,下级勾选了,上级的框框一定有勾选才是(否则在关闭展开状态时,就不知道下级是否有被勾选的了) ......
不知道大家的逻辑是怎样的~~~~
|
-- 作者:reachtone
-- 发布时间:2010/2/10 1:16:00
--
可以在事件中设置代码:当下级勾选时,同时将上级节点勾选。
|
-- 作者:mr725
-- 发布时间:2010/2/10 11:52:00
--
这个用代码麻烦啊~ 我得试一试。。。。。。
|
-- 作者:mr725
-- 发布时间:2010/2/10 12:07:00
--
这个是针对二级的目录树(大家可以试一试) : 多级的还没想通啊~ 呵呵 请高手赐教:::::::: Dim n as integer = e.Node.FullPath.Split("\\").length Dim Vals() As String = e.Node.FullPath.Split("-:special:1:-) Dim tr As WinForm.TreeView tr = Forms("窗口2").Controls("TreeView1") for i as integer = 0 to tr.Nodes.count-1 if tr.Nodes(i).text = Vals(0) n = i+1 exit for end if next
If e.Node.Level > 0 for ii as integer = 0 to tr.Nodes(n-1).Nodes.count-1 if tr.Nodes(n-1).Nodes(ii).checked = true \' if tr.Nodes(n-1).checked = false tr.Nodes(n-1).checked = true exit for else return end if else if tr.Nodes(n-1).checked = true tr.Nodes(n-1).checked = false end if end if next end if
说明: 一级复选框打勾对二级无效, 二级复选框只要有一个打勾,一级框自动勾上,当二级框全部取消后,一级框也自动取消。
|
-- 作者:reachtone
-- 发布时间:2010/2/10 12:22:00
--
不用这么复杂,5行代码就够了:
If e.Node.Checked and e.Node.Level > 0 Then If e.Node.ParentNode.Checked = False Then e.Node.ParentNode.Checked = True End If End If
[此贴子已经被作者于2010-2-10 12:23:39编辑过]
|