天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 3320|回复: 0

[视图-其他视图] 树形视图点击某节点,右侧列表显示其所有子级数据【树形视图】

[复制链接]
kimi 发表于 2013-8-8 23:14:23 | 显示全部楼层 |阅读模式
本帖最后由 karrman 于 2017-1-11 15:50 编辑

Q:请问如何实现树形视图点击某节点,右侧列表显示其所有子级数据,而不是直属子集的数据?
A:您好:你先创建两个视图,一个是树形视图,一个是列表视图,然后树形视图的节点点击类型为链接,然后选择视图,如下图所示:
50.gif

接下来您对应选择的列表视图选择存储过程,来根据当前树形所点击的节点查询出所有的子级数据。
具体的存储过程代码如下:
USE [kimisp8test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[GetTreeNodes](
@Num Nvarchar(200)
)
as
begin
    DECLARE @ParentID nvarchar(200)
        SET @ParentID=@Num;
        with CTEGetChild as
        (
                select * from TLK_树形视图表单 where ITEM_上级节点编号=@ParentID
                UNION ALL
                 (SELECT a.* from TLK_树形视图表单 as a inner join
                  CTEGetChild as b on a.ITEM_上级节点编号=b.ITEM_本级节点编号
         )
        )
        SELECT * FROM CTEGetChild
end

数据库客户端创建好存储过程后,在列表视图中调用,如下图所示:
51.gif

具体视图调用存储过程代码如下:
var docid=getParameter("treedocid");
println(docid+"=====docid===");
var rtn="";
if(docid.trim().length()>0){
    var process=getDocProcess(getApplication());
    var doc = process.doView(docid);
    println(doc+"====doc=====");
    rtn=doc.getItemValueAsString("本级节点编号");
    println("gggg"+rtn+"======rtn=====");
}
"exec GetTreeNodes '"+rtn+"'";

在前台显示效果类似如下图:
52.gif

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 15:48

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表