EAS-BOS开发问题解决
如何判断单击了列头。
解决:
protected void orderByClickTableHead(KDTMouseEvent e) throws Exception { if(e.getType() == KDTStyleConstants.HEAD_ROW }
&& e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 1){
……
如何实现排序。如何默认进入一个ListUI实现按照某个字段进行排序
解决:如何实现排序参考EmployeeMutiF7UIGov.java。
进入ListUI的时候默认排序可以重写父类的initDefaultFilter()方法。该方法会在进入页
面的时候进行调用。 设定过滤可以这样子: if(mainQuery == null)
mainQuery = new EntityViewInfo();
FilterInfo filterInfo = new FilterInfo();//实例化一个过滤对象。 filterInfo.getFilterItems().add(new FilterItemInfo("isDelete", new
Integer(0)));//添加过滤条件isDelete=0; filterInfo.getFilterItems().add(new FilterItemInfo("enable",new
Integer(StateEnum.DISABLE_VALUE),CompareType.NOTEQUALS));//添加过滤条件enable!= 枚举StateEnum的DISABLE_VALUE值。 filterInfo.setMaskString("#0 and #1");//将刚才两个条件设置进去。其中#0代表isDelete的过滤,#1代表enable的过滤。
this.mainQuery.setFilter(filterInfo);//最后将对象设进EntityViewInfo,做
了封装了。
有一点需要注意的是首先要找到Query,因为isDelete,enable是Query的属性,而不是代表表里的字段。
设定排序是这样子的:
SorterItemInfo sorterOrderItem1 = new SorterItemInfo("enable");//实例化一个排序对象
sorterOrderItem1.setSortType(SortType.ASCEND);//设置排序类型
mainQuery.getSorter().add(sorterOrderItem1);//添加进入EntityViewInfo对
象的Sorter的属性中。