找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 3699|回复: 2

[求助] 参照多选的问题

[复制链接]
发表于 2014-2-18 20:43:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
请教各位大侠怎么把自定义参照设置为多选啊?而且这个参照还是在自定义的查询模板上。谢谢大家啦~\(≧▽≦)/~啦啦啦
发表于 2014-2-19 14:45:03 | 显示全部楼层
哇,请高手提供思路,飘过。。。。
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2014-2-19 19:59:36 | 显示全部楼层
花了一个终于把问题解决了,在这里把方法贴出来,请大家多多指教
                //设置在查询模板上的分组字段和小计字段的参照可以多选
                BillItem item = dlg.getUIPanelNormalData("m_sGroupedID");
                UIRefPane refPane = (UIRefPane) item.getComponent();
                refPane.setReturnCode(false);
                refPane.setMultiSelectedEnabled(true);
                refPane.setIsCustomDefined(false);
                dlg.setValueRef("m_sGroupedID",refPane);

dlg:获取当前查询的QueryDialog,然后获取需要多选的参照的BillItem,这样就好做了,因为获取UIRefPane就可以用setMultiSelectedEnabled(Boolean)方法设置了,记得最后一句dlg.setValueRef("m_sGroupedID",refPane);一定要有,否则值是传不过去的!但是有一个问题是:参照多选出来只能保存住一个(我用的NC5.0,不知道其他版本),发现问题出在,AbstractRefModel中的getValue(String field)上,它其中是这样写的
public Object getValue(String field) {
                Object[] values = getValues(field);

                Object value = null;

                if (values != null && values.length > 0) {
                        value = values[0];
                }

                return value;
        }

这时会发现获取的value只取了数组中的第一个,此时只需重写此方法就可以了!
今天想出的办法就是这样,如果有什么不足和错误,请大家指正,谢谢!
回复 点赞 拍砖

使用道具 举报

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

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-6-2 08:22 , Processed in 0.024923 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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