Foxtable(狐表)用户栏目专家坐堂 → 请教,关于目录树根据条件判断,复选框自动选择


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

主题:请教,关于目录树根据条件判断,复选框自动选择

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
请教,关于目录树根据条件判断,复选框自动选择  发帖心情 Post By:2010/2/8 14:28:00 [只看该作者]

关于目录树来一个表数据,如果有一列为复选框为是否选中列值(true为自动选中,false为不选),请教加载目录树时如果根据表列来判断?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/2/8 16:51:00 [只看该作者]

没明白楼主的意思,是否是根据复选框的内部来选择加载目录树?最好做个示例

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/2/8 16:52:00 [只看该作者]

图片点击可在新窗口打开查看不是有加载条件嘛:

BuildDataTree(DataTable, Filter, Column1, Column2, Column3...)

DataTableName: 数据表名
DataTable:    数据表
Filter:        过滤条件
Column1,Column3,Column3:数据列名称,用这些列的数据生成目录树,可以指定多列。

实例:


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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/2/9 8:58:00 [只看该作者]

Sorry!没有说清楚,误解。在目录树中,知道目录名称变量,如何判断此目录树中具有相同名称的那项来被选中?谢了!不知是否说清楚没。


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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/2/9 9:44:00 [只看该作者]

如果变量名称为节点名称为“6602=管理费用\6602.06=社会保险费\6602.06.01=养老”时,查找节点路径等于变量名称时,此节点设为选中状态,如何实现?本人对目录集合还不是很清楚,请各位帮忙下。谢谢!!
图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/2/10 0:35:00 [只看该作者]

狐表的这框框有些怪, 从逻辑上说,下级勾选了,上级的框框一定有勾选才是(否则在关闭展开状态时,就不知道下级是否有被勾选的了) ......

不知道大家的逻辑是怎样的~~~~    

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2010/2/10 1:16:00 [只看该作者]

可以在事件中设置代码:当下级勾选时,同时将上级节点勾选。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/2/10 11:52:00 [只看该作者]

这个用代码麻烦啊~   我得试一试。。。。。。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By: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编辑过]

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