获取表单页面上所有控件的内容原创
金蝶云社区-孤勇者
孤勇者
3人赞赏了该文章 1,518次浏览 未经作者许可,禁止转载编辑于2021年12月28日 17:19:48

通过遍历获取表单上所有控件的标识 ,可用于遍历给实体进行赋值。

    /**
     * 获取页面上所有控件的内容
     * @param formId 表单标识
     * @return
     */
    public Map getPageAllData(String formId) {
        HashMap<String, Object> map = new HashMap<>();
        MainEntityType entityType=EntityMetadataCache.getDataEntityType(formId);
        FormMetadata taskMeta=(FormMetadata)MetadataDao.readRuntimeMeta(MetadataDao.getIdByNumber(entityType.getName(),MetaCategory.Form),MetaCategory.Form);
        List<ControlAp<?>>items=taskMeta.getItems();
        for (ControlAp<?> item : items) {
            if (item instanceof FieldAp) {
                map.put(item.getKey(), getModel().getValue(item.getKey()));
            }
        }
        return map;
    }


赞 3