首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

怎么给ListUI每次过滤都强制添加过滤条件

2012-12-21 
如何给ListUI每次过滤都强制添加过滤条件?ListUI的过滤条件设置有三种情况:1、刚进入时默认添加的,这个是继

如何给ListUI每次过滤都强制添加过滤条件?
ListUI的过滤条件设置有三种情况:
1、刚进入时默认添加的,这个是继承getInitDefaultSolution()方法来实现的
2、过滤界面设置的
3、运行过程中代码增加的
对于3的情况,一般就是对当前的ListUI的记录做权限过滤,否则自己增加的单据可能自己会看不到(非权限类),那么如何实现这种的需要,也就是说如何给ListUI在运行时强制增加过滤条件,对于这个问题框架也没有明确给出解决办法,但在开发过程中通过摸索发现,继承beforeExcutQuery()方法可以实现,具体示例代码如下:
protected void beforeExcutQuery(EntityViewInfo arg0) {
  setFilterForQuery(HuarUIHelper.getAdminCostcenterOrgFilter(this, "agency.id", "businessOrg.id").getFilter());
  super.beforeExcutQuery(arg0);
}
重载beforeExcutQuery()方法,因为这个方法是在每次过滤查询时都会调的,在方法中的第一行先调用setFilterForQuery(FilterInfo)方法设置过滤条件,从框架ListUI类的代码中我们可以看到setFilterForQuery()方法中的参数,实际上就是ListUI中的outFilter,也就是外部的过滤条件,这样问题就解决了。

热点排行