【仅供内部供应商使用,不提供对外解答和培训】
...
首先我们要定义我们描述一个文件的对象,我们简单分为,路径/名称/重命名 3个属性,因为这些属性我们都支持公式,也允许单元格扩展填报动态计算,那么我们属性值就都定义成Object3个属性(大家实际开发的时候,具体有多少种属性,属性叫啥自己根据需要定义即可),因为这些属性我们都支持公式,也允许单元格扩展填报动态计算,那么我们属性值就都定义成Object
Code Block | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
package com.tptj.bridge.hg.file.load.demo; import com.fr.io.context.info.GetConfig; import com.fr.stable.FCloneable; import com.tptj.tools.hg.file.operator.dynamics.Column; import com.tptj.tools.hg.file.operator.utils.BaseUtils; import com.tptj.tools.hg.xml.fun.Config; /** * @author 秃破天际 * @version 10.0 * Created by 秃破天际 on 2021-01-07 **/ public class FileDefine implements FCloneable { public static final String KEY_PATH = "path"; public static final String KEY_FILE = "file"; public static final String KEY_RENAME = "rename"; @Config(KEY_PATH) @Column(title = "路径",idx = 0) private Object path; @Config(KEY_FILE) @Column(title = "文件",idx = 1) private Object file; @Config(KEY_RENAME) @Column(title = "重命名",idx = 2) private Object rename; @GetConfig(KEY_PATH) public Object getPath() { return path; } public void setPath(Object path) { this.path = path; } @GetConfig(KEY_FILE) public Object getFile() { return file; } public void setFile(Object file) { this.file = file; } @GetConfig(KEY_RENAME) public Object getRename() { return rename; } public void setRename(Object rename) { this.rename = rename; } @Override public Object clone() throws CloneNotSupportedException { FileDefine obj = (FileDefine)super.clone(); obj.file = BaseUtils.clone( file ); obj.path = BaseUtils.clone( path ); obj.rename = BaseUtils.clone( rename ); return obj; } } |
...
它的功能就是,把我们带@Column和@Config注解且实现了FCloneable的对象,转换成支持公式编辑的属性配置界面(后面可以看实际效果)
我们这里除了文件描述以外没有增加任何其他配置,大家开发的时候根据自己的实际需要定义相关配置即可。
下载我们前面说了,需要通过固定的两个接口和一个固定的JS入口,才能实现对移动端的兼容,这里我们JAR里面已经实现好了,大家只需要继承一下即可
...