动态创建 EntityType 实现通用过滤 FilterGrid 自定义原创
402次浏览
未经作者许可,禁止转载编辑于2023年11月20日 14:38:56
创建 MainEntityType
可以参考资料:https://vip.kingdee.com/link/s/lvWav 文章中 getEntityType 如何实现
需要注意:如果字段需要在通用过滤中可选择,字段设置 setAlias("xxxx")
public MainEntityType createEntityType(){ BasedataEntityType entityType=new BasedataEntityType(); entityType.setName("demo_entity"); LongProp longProp=new LongProp(); longProp.setName("id"); longProp.setAlias("fid"); longProp.setPrimaryKey(true); entityType.addProperty(longProp); ComboProp statusProp=new ComboProp(); statusProp.setName("status"); statusProp.setAlias("status"); List<ValueMapItem> comboItems=new ArrayList<>(); comboItems.add(new ValueMapItem("","A",new LocaleString("状态 A"))); comboItems.add(new ValueMapItem("","B",new LocaleString("状态 B"))); statusProp.setComboItems(comboItems); entityType.addProperty(statusProp); return entityType; }
绑定通用过滤 FitlerGrid
FilterGrid filterGrid=getControl("filtergridap"); MainEntityType mainEntityType=createEntityType(); filterGrid.setMainEntityType(mainEntityType); FilterFieldBuildOption option=new FilterFieldBuildOption(); List<Map<String, Object>> filterColumns=FormTreeBuilder.buildFilterColumns(mainEntityType,option); filterGrid.setFilterColumns(filterColumns); FilterCondition filterCondition=new FilterCondition(); filterGrid.SetValue(filterCondition); this.getView().updateView("filtergridap");