起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10045|回复: 20

[结贴] 求 树形单选下拉 的例子

[复制链接]

5

主题

26

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
发表于 2018-8-10 11:31:49 | 显示全部楼层 |阅读模式
树形单选下拉
  • 本案例中需要使用树形结构的数据,我们以组织机构为例,在BIZ层项目的process目录的model.config.xml文件中引用/SA/OPM/logic/action,然后process.m文件中,添加动作设置,引入queryOPOrgAction
  • 关于组织机构的概念设置可以参考/BIZ/system/ontology/opm.ontology.m
  • UI2层设置bizData为树形,代码结构如下
1
2
3
4
5
6
7
8
<div component="$UI/system/components/justep/data/bizData"
    autoLoad="true" xid="treeData" concept="SA_OPOrg" isTree="true">
    <reader xid="default1" action="/system/logic/action/queryOrgAction">
    </reader>
    <treeOption xid="default2" parentRelation="sParent"
    nodeKindRelation="sNodeKind">
    </treeOption>
</div>



  • 再使用一个data或bizData组件,用于存放选择的数据,这里我们使用了一个普通的data组件,结构如下:
1
2
3
4
5
6
7
8
<div component="$UI/system/components/justep/data/data"
    autoLoad="true" xid="data" idColumn="orgName">
    <column label="名称" name="orgName" type="String" xid="xid1">
    </column>
    <column label="id" name="id" type="String" xid="xid2">
    </column>
    <data xid="default3">[{}]</data>
</div>



  • 添加gridSelect组件,除了设置通用的绑定字段,另外需要设置为树形显示,option属性中设置appearance=”true”,expandColumn=”sName”,即可实现树形下拉选择效果,代码如下:
1
2
3
4
5
6
7
8
<div class="x-gridSelect"
    component="$UI/system/components/justep/gridSelect/gridSelect"
    xid="gridSelect" bind-ref="data.ref('id')"
    onTreeIconRender="gridSelectTreeIconRender"
    bind-labelRef="data.ref('orgName')">
    <option xid="option1" data="treeData" value="SA_OPOrg" label="sName"
    expandColumn="sName" appearance="tree"/>
</div>







gridSelect页面显示其他.w:/UI2/demo/misc/process/order/mainActivity.w


这个例子我没有找到   也没看到哪里有
求各位大神





91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36155
发表于 2018-8-10 11:45:42 | 显示全部楼层
BeX5中肯定有这案例
但案例中没有树形下拉

树形下拉必须保证下拉的是平台数据的树形格式,然后再设置树形下拉
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

26

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
 楼主| 发表于 2018-8-10 17:59:31 | 显示全部楼层
本帖最后由 雁渡寒潭 于 2018-8-11 13:08 编辑
jishuang 发表于 2018-8-10 11:45
BeX5中肯定有这案例
但案例中没有树形下拉

<div component="$UI/system/components/justep/data/baasData" autoLoad="true" xid="orgTreeData" idColumn="xfOrganizationId"
            isTree="true" nodeKindRelation="organiationName">
      <treeOption xid="default1" parentRelation="parentOrganizationId" delayLoad="true"/>  
      <column label="xfOrganizationId" name="xfOrganizationId" type="Integer" xid="default6"/>  
      <column label="organiationName" name="organiationName" type="String" xid="xid3"/>  
      <column label="parentOrganizationId" name="parentOrganizationId" type="Integer" xid="xid6"/>  
    </div>
这是我的data
<div class="x-gridSelect" component="$UI/system/components/justep/gridSelect/gridSelect"
        xid="gridSelect"  bind-labelRef="orgTreeData.ref('organiationName')">
        <option xid="option1" data="orgTreeData" value="xfOrganizationId" label="organiationName" expandColumn="organiationName" appearance="tree"/>
      </div>

这是我的组件
Model.prototype.orgTreeDataCustomRefresh = function(event){
        var url = require.toUrl("./treese.json");
        var treeData = this.comp("orgTreeData");
        $.ajax({
            type:"get",
            url:url,
            dataType:"json",
            success:function(data){
                treeData.loadData(data);
            }
        });   
    };
Model.prototype.gridSelectShowOption=function(event){
        var grid = event.source.grid;//获取gridSelect中的grid
        grid.refresh();
    };

这是我的js
[  
{"xfOrganizationId": 1,"organiationName": "市政","parentOrganizationId": 0,  
    "nodes": [      
        {"xfOrganizationId": 3,"organiationName": "环卫","parentOrganizationId": 1},     
        {"xfOrganizationId": 4,"organiationName": "城管","parentOrganizationId": 1}   
    ]
},  
{"xfOrganizationId": 2,"organiationName": "消防","parentOrganizationId": 0,  
    "nodes": [
        {"xfOrganizationId": 35, "organiationName": "消防一部","parentOrganizationId": 2}   
    ]  
}
]
这是数据

数据是能显示出来了 但是不是树形的
就是普通的select
请问要咋改呢
回复 支持 反对

使用道具 举报

5

主题

26

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
 楼主| 发表于 2018-8-11 13:49:02 | 显示全部楼层
jishuang 发表于 2018-8-10 11:45
BeX5中肯定有这案例
但案例中没有树形下拉

上面的这些整了好久还是没有整出来树形,还是select
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36155
发表于 2018-8-13 08:44:16 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

26

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
 楼主| 发表于 2018-8-13 09:29:55 | 显示全部楼层
jishuang 发表于 2018-8-13 08:44
json格式要用平台要求的
http://doc.wex5.com/?p=4932
http://docs.wex5.com/bex5-ui-question-list-10106/ ...

非常感谢啦   就是把nodes   换成rows之后就出来了
但是还有一个问题
>市政
    环卫
    城管
消防
市政是显示完全了  
但是消防下的子没有出来,前面也没有图标箭头
请问这是什么问题呢?  
回复 支持 反对

使用道具 举报

5

主题

26

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
 楼主| 发表于 2018-8-13 09:43:38 | 显示全部楼层
jishuang 发表于 2018-8-13 08:44
json格式要用平台要求的
http://doc.wex5.com/?p=4932
http://docs.wex5.com/bex5-ui-question-list-10106/ ...

好了 现在都显示出来了
但是现在报个错
       
event is not defined
隐藏详细
_doGridKeyDown@http://localhost:8088/x5/UI2/v_39e70280a7c947e7bd0b1cbf0799a7f8l_zh_CNs_desktopd_pc/system/components/pc.addon.min.js:207:1 dispatch@http://localhost:8088/x5/UI2/v_c5816d66f56a406481281ae684d633ddl_zh_CNs_desktopd_pc/system/core.min.js:71:53763 add/g.handle@http://localhost:8088/x5/UI2/v_c5816d66f56a406481281ae684d633ddl_zh_CNs_desktopd_pc/system/core.min.js:71:50435

请问这个是什么原因呢?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36155
发表于 2018-8-13 10:50:27 | 显示全部楼层
确认标记数据关系的值是否正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

26

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
 楼主| 发表于 2018-8-13 11:28:37 | 显示全部楼层
jishuang 发表于 2018-8-13 10:50
确认标记数据关系的值是否正确

好了  这个解决了  
还有个问题
就是数据出来了  
>市政
    环卫
    城管
>消防
    消防一部

上面的数据一开始就是展开的,但是箭头方向是向右的,说明是不展开的,
这个问题应该怎么解决呢   
我想让他一开始不展开
我之前设置了  grid里面的什么all()方法也没用
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36155
发表于 2018-8-13 11:58:05 | 显示全部楼层
展开的能正常折叠吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-5-17 12:27 , Processed in 0.062952 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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