BOS开发- ListUI实战

更新时间:2023-03-15 22:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

关于eas bos 列表界面的忽略CU过滤

protected boolean isIgnoreCUFilter() { return true; }

如何删除叙事簿上的列设置格式。

经常在开发过程中碰到对已发布的叙事簿(继承自ListUI)再进行加字段等操作后,部署上去发现新格式不能生效,重新设置默认格式也无效。此问题的原因是系统已经保存了旧的格式,二次开发后之前的设置无法修改,只能删除掉此ListUI之前的设置信息,具体方法如下:

一共涉及两张表:T_QUERY_QueryPanel和T_QUERY_QuerySolution,后者是主表,执行以下sql

delete T_QUERY_QueryPanel where fsolutionid in (select fid from T_QUERY_QuerySolution where FParentUIName='XXXUI');

delete from T_QUERY_QuerySolution where FParentUIName='XXXUI';

EntityViewInfo中FilterInfo如何设置包含多项的过滤?

EntityViewInfo常常用作bos中接口参数,来做查询用,其中包含了FilterInfo(过滤)、Selector(指定属性)以及Sorter(排序),我们会经常碰到过滤时,某个属性要像sql中的in的查询方式,FilterInfo提供了此功能,具体写法如下: 第一种是CompareType用Inner:

用inner方式时,值项要写成如下格式:

数值类型为:(1,2,3),字符串类型为\第二种是CompareType用Include:

用Include方式时,值项要写成如下格式:

Set 类型,即建立一个Set对象,将值一个一个加入。

注意:FilterInfo在做like的过滤时,值项的两端要类似于sql加上\方可正确过滤。

打开ListUI时先弹出过滤框

覆盖ListUI的方法initDefaultFilter(),返回true。代码如下: protected boolean initDefaultFilter() {

return true; }

新建用户界面继承ListUI使用KDTable报错

新建用户界面XXlistUI,在bos启动客户端进行调试时,进入业务单据界面时,跳出很抱歉,系统不能正常执行操作任务,请选择重新登录或退出系统的错误提示。

下面是客户端报错提示错误信息:com.kingdee.bos.BOSException: Can\propertyUnit: [CU] in [com.kingdee.eas.base.message.app.BMCMessage]!,  query : com.kingdee.eas.base.message.MsgQuery,  view : WHERE (CU.id = \

\

\ORDER BY id ASC错误详细堆栈信息:java.lang.RuntimeException: com.kingdee.bos.BOSException: Can\propertyUnit: [CU] in [com.kingdee.eas.base.message.app.BMCMessage]!,  query : com.kingdee.eas.base.message.MsgQuery,  view : WHERE (CU.id = \

\\

解决办法:

检查抽象类的这个方法 /**

* output jbInit method */

private void jbInit() throws Exception {

this.resHelper = new

ResourceBundleHelper(AbstractProblemHandleNewEditUI.class.getName()); this.setUITitle(resHelper.getString(\

mainQueryPK = new MetaDataPK(\\ // CoreUI

this.tblMain.setFormatXml(resHelper.getString(\ this.tblMain.putBindContents(\ //如果不行的,这里就多了一句

this.tblMain.putBindContents(\ //Register control's property binding registerBindings(); registerUIState(); }

切换到元数据编辑界面ListUI,把新建的ListUI界面,默认的column1,cell1删除掉,点保存,然后重新添加column和cell,尽可能不要起column1和cell1默认名称,更改一下名字。然后发布一下,刷新代码,看看那句红色的是否还存在。如果没有应该就没有问题了

本文来源:https://www.bwwdw.com/article/yb6v.html

Top