第一种方式
protected IQueryExecutor getQueryExecutor(IMetaDataPK arg0,
EntityViewInfo arg1) {
String id = getSelectedKeyValue();
EntityViewInfo evi =new EntityViewInfo();
try {
evi=this.getEntityViewInfo(arg1);
} catch (BOSException e) {
e.printStackTrace();
}
FilterInfo filter =evi.getFilter(); //设置过滤条件
com.kingdee.bos.metadata.entity.FilterItemCollection coll=filter.getFilterItems();
int index=coll.size();
List list=new ArrayList();
for(int i=0;i<coll.size();i++){
System.out.println(coll.size());
FilterItemInfo info=coll.get(i);
if(info.getPropertyName().equals("FICompany.id")){
list.add(info);
}
System.out.println(info.getPropertyName());
}
for(int j=0;j<list.size();j++){
System.out.println(list.size());
FilterItemInfo info=(FilterItemInfo)list.get(j);
filter.getFilterItems().remove(info);
}
filter.setMaskString("");
System.out.println(filter.getMaskString());
evi.setFilter(filter);
IQueryExecutor queryExecutor=super.getQueryExecutor(arg0, evi);
return queryExecutor;
}
第二种方式:
protected IQueryExecutor getQueryExecutor(IMetaDataPK arg0,
EntityViewInfo arg1) {
EntityViewInfo evi =new EntityViewInfo();
SorterItemCollection sc = new SorterItemCollection();
SorterItemInfo sorterItem = new SorterItemInfo("effectiveDate");
sorterItem.setSortType(SortType.ASCEND);
sc.add(sorterItem);
try {
evi=this.getEntityViewInfo(arg1);
evi.clear();
} catch (BOSException e) {
e.printStackTrace();
}
FilterInfo filter = new FilterInfo(); //设置过滤条件
//过滤 ,多个filter默认是and 当需条件为or时,如下
filter.getFilterItems().add(new FilterItemInfo("CU.id","00000000-0000-0000-0000-000000000000CCE7AED4",CompareType.EQUALS));
filter.getFilterItems().add(new FilterItemInfo("CU.id","11111111-1111-1111-1111-111111111111CCE7AED4",CompareType.EQUALS));
filter.getFilterItems().add(new FilterItemInfo("CU.id","00000000-0000-0000-0000-000000000000CCE7AED4",CompareType.EQUALS));
filter.setMaskString("#0 or #1 or #2");//条件为or
evi.setSorter(sc);
evi.setFilter(filter);
IQueryExecutor queryExecutor=super.getQueryExecutor(arg0, evi);
return queryExecutor;
}