树组件使用说明

6015
4

1505121235 数据老手Lv5

发表于2020-5-22 16:20

楼主
本帖最后由 1505121235 于 2020-9-2 10:00 编辑

1使用说明
1.1 功能入口
在基础组件中,将组件拖入右侧编辑页面
1.2 属性设置
*1 主题表:选择组件对应的主题表 (必填)
*2 父节点id字段 :选择父节点id字段(必填)
*3 节点id字段 : 选择节点id字段(必填)
4 节点名称字段 :选择节点在树上显示的名称字段,不设置则默认显示id
5 根节点: 指定根节点,支持传空
6 展开方式:目前支持四种,详细可以查看属性的悬浮提示
10 显示搜索框(搜索框逻辑是从当前选中节点的下一个第一个可见节点开始搜索)
设置好属性以后,点击计算,结果如下图所示。
1.3 钻取和相关接口方法
1.3.1 钻取
钻取是针对每一个树节点的onclick事件进行设置的,
在钻取参数中,将树组件的参数名称中@换成$ 可以将被选中的树节点的id值作为参数值进行传递
1.3.2 接口
方法名
参数说明
方法说明

getSelectItem(name)name: 对应树组件的代号获取指定树组件被选中节点
getSelectItemId(name)name: 对应树组件的代号获取指定树组件被选中节点的id(如果没有选中的节点会给出提示)
refreshTree(name, expandtype)
name:对应树组件的代号,
expandtype:展开方式
默认1:"def1"
默认2:"def2"
全展开:"allopen"
全收起:"allclose"
重新加载树组件上的所有节点,并根据展开方式进行展开,不传默认使用组件设置的展开方式
refreshChildrenNode(name,itemtxt, refreshalltree)
name: 对应树组件的代号,
itemtxt : 刷新后定位到的节点名称(只能是选中节点和其子节点)
refreshalltree:是否刷新整树
(true 刷新整树)
重新加载树组件上选中节点的父节点的子节点,如果没有选中的节点则刷新整树。
设置itemtxt,传入回填组件的值 ,新增时可以定位到新增的节点,修改时定位到修改的节点,
不设置itemtxt 都定位的是选中的节点

deleteTreeItemByType(name, typefield, type, afterDeleteSelectParentItem)
name: 对应树组件的代号,
typefield : 标识字段
type : 标识字段对应的值
afterDeleteSelectParentItem: 在删除以后是否选择父节点
树组件还未做过滤条件 ,因此需要一个字段 作为标记字段,对其进行操作控制数据的展示和隐藏,同时需要同步创建一张根据标记字段作为过滤条件的视图


1.2 应用举例
树组件的钻取
  1. _zcalcn([['Widget1','HHH15','@p=$p;@a=']]);
  2. //热区式钻取, 参数@p=$p   @p是钻取后使用的参数名 $p 是树组件上的参数名 用$将@替换,在钻取时会将选中节点的id传入
复制代码

新增按钮的钻取
  1. var id = getSelectItemId("HHH5");
  2. id= EUI.isStrEmpty(id) ? "" : id;
  3. _zcalcn([['Widget1','HHH15','@p='+id+';@a=add']]);
  4. //获取到选中节点的id 在新增时 将该节点作为 新节点的父节点
复制代码

保存按钮的钻取
  1. g_rptpage.cmd_saveReportData("",function(){
  2. var value =g_formmgr.rpts.HHH15.childs.HHH40.getValue();
  3. refreshChildrenNode("HHH5", value , true );
  4. });
  5. //先使用表单保存的接口,在回调中是调用刷新接口,
  6. g_formmgr.rpts.HHH15.childs.HHH40.getValue();   
  7. var rpts = g_formmgr.rpts;//结果态表单对象
  8. var container = rpts.HHH15//对象里的表单容器
  9. var input = container.childs.HHH40; //容器子组件里的 回填组件
复制代码



删除按钮的钻取
  1. deleteTreeItemByType("HHH5", "content", "1");
  2. refreshChildrenNode("HHH5","", true);
  3. _zcalcn([['Widget1','HHH15','@p=;@a=']]);
  4. //使用删除接口将 标记字段的值设置为失效 然后刷新节点,并重置回填组件的值
复制代码

重置

  1. var id = getSelectItemId("HHH5");
  2. id= EUI.isStrEmpty(id) ? "" : id;
  3. _zcalcn([['Widget1','HHH15','@p=' + id+';@a=change']]);
  4. //重置回填组件中的值,第一次点击左树节点时的值,如果想重置为空,不传参即可
复制代码



最近看过此主题的会员

pandabuxizao

esen_4Y3L5ADO80

DJY

4个回答

只看楼主

小亿 管理员

发表于2020-5-22 16:50

只看该作者

取消 关注该作者的回复

沙发

感谢大神分享!薏米们有福了~

程序小哥哥 数据达人Lv4

发表于2020-5-22 17:34

只看该作者

取消 关注该作者的回复

板凳

效率了,前几天才看到用户提问,今天教程就出来了~

Gardenia 小试身手Lv3

发表于2021-6-10 09:30

只看该作者

取消 关注该作者的回复

地板

对应主题表中有数据但是计算显示无数据,这个是什么原因?

852828363 初学数据Lv2

发表于2023-12-4 11:44

只看该作者

取消 关注该作者的回复

5#

Gardenia 发表于 2021-6-10 09:30
对应主题表中有数据但是计算显示无数据,这个是什么原因?

我的也是这样,你的问题解决了吗

登录后可回答问题,请登录注册

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号