动态创建 EntityType 实现通用过滤 FilterGrid 自定义原创
金蝶云社区-周立思
周立思
0人赞赏了该文章 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");


效果图

image.png


赞 0