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

QQ登录

只需一步,快速开始

查看: 3154|回复: 9

[处理中6] grid查询下拉系列组件的下拉集合数据问题。组件开发!

[复制链接]

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
发表于 2014-6-23 16:50:27 | 显示全部楼层 |阅读模式
版本: X5.2.7 小版本号:
数据库: MySQL 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
1.我想问下,grid查询下拉系列的组件中,里面的下拉集合是在什么时候填充的,在组件源代码的那一块?
  因为我想扩展下拉查询组件,比如我在itemset属性下添加一个属性选项group-column,可以将集合里面的数据分组后展示和选择。
  我看了X5的system/components/select下的代码,以及高级开发手册中的组件开发,也结合起步_OA里面的扩展组件代码跟了看了,没找到上面说的代码。
2.能讲解下grid查询组件的代码执行过程吗?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2014-6-23 17:27:05 | 显示全部楼层
gridSelect组件不支持自己扩展属性,扩展后不能读取
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-6-23 17:33:46 | 显示全部楼层
本帖最后由 boolean 于 2014-6-23 17:56 编辑
jishuang 发表于 2014-6-23 17:27
gridSelect组件不支持自己扩展属性,扩展后不能读取

就是因为selectgrid不支持,所以我要自己扩展一个自定义组件,功能和它差不多,只是多一个下拉集合数据分组。
所以我想知道下拉集合是在那块的代码填充的?
回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2014-6-24 12:00:57 | 显示全部楼层
gridSelect组件是基于dhtmlx grid做的实现;

底层封装了xforms的组件来完成,目前这部分代码没有公布
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-6-24 15:31:43 | 显示全部楼层
本帖最后由 boolean 于 2014-6-24 15:33 编辑
XiaoQLuo 发表于 2014-6-24 12:00
gridSelect组件是基于dhtmlx grid做的实现;

底层封装了xforms的组件来完成,目前这部分代码没有公布

<group name="itemset">
                <property name="data-ref" path="xforms:itemset/@data" text="引用data,优先级高于静态数" editor-ref="dataList" />
                <property name="auto-load-data" path="xforms:itemset/@auto-load-data" text="第一次下拉时触发data动态加载" editor-ref="booleanList" readonly="true" default-value="false"/>
                <property name="independence" path="xforms:itemset/@independence" default-value="false" text="为true时,多个select可以绑定同一个data,但只在下拉时刷新一次数据,数据改变后,需要用户主动触发刷新。" editor-ref="booleanList" readonly="true"/>
                <property name="static-data" path="xforms:itemset/itemset-data/@description" type="complex" editor-ref="dataDialog"  readonly="true" is-virtual = 'true'  fixed-value='[静态数据]'/>
                <property name="columns"  text="下拉表格列" path="xforms:itemset/@columns-description" type="complex" editor-ref="columnsDialog" readonly="true" is-virtual = 'true'  fixed-value='[...]' required="false"/>
            </group>
我如何能在java中读取到data-ref的值?

回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2014-6-25 13:49:37 | 显示全部楼层

你说的java是说组件服务端的java模板吗?

直接操作dom读取就可以
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-6-25 13:53:17 | 显示全部楼层
本帖最后由 boolean 于 2014-6-25 14:49 编辑
XiaoQLuo 发表于 2014-6-25 13:49
你说的java是说组件服务端的java模板吗?

直接操作dom读取就可以

对,是java模板
public class GridFilter implements JavaTemplate {
       @SuppressWarnings("unchecked")
        public Element execute(Element bound, Map context) throws XBLException {
                //是解析这里的bound?但是我看过这里面的结构,没有itemset下的节点值
       }

还有。如果我在xml中定义了<property name="group-relation" text="分组字段" editor-ref="relationDlg" editor-parameter="itemset/data-ref"/>
此属性的值我想引用itemset下的data-ref所选择的值,实现选择下拉集合数据源的字段。该怎么写?
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-6-25 16:38:34 | 显示全部楼层
boolean 发表于 2014-6-25 13:53
对,是java模板
public class GridFilter implements JavaTemplate {
       @SuppressWarnings("unchecke ...

我获取到了。bound.element("itemset").attributeValue("data");
回复 支持 反对

使用道具 举报

37

主题

713

帖子

3310

积分

内部用户

积分
3310
发表于 2014-6-26 09:38:30 | 显示全部楼层
你如果只是需要下拉组件分组显示,只需要在dropdown事件执行
justep.xbl("gridSelect1").grid.groupBy(0);
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-6-26 10:08:33 | 显示全部楼层
jholy 发表于 2014-6-26 09:38
你如果只是需要下拉组件分组显示,只需要在dropdown事件执行
justep.xbl("gridSelect1").grid.groupBy(0); ...

结果如图: 不是要的这个效果

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 16:27 , Processed in 0.071623 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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