金蝶云苍穹动态表单插件afterCreateNewData事件案
2020-09-10 本文已影响0人
涎涎
-
新建对话框模板动态表单
-
在内容区添加单据体后添加整数控件并更改标识为integerfieldap1后保存
- 新建插件类并进行编码
package kd.bos.dynamicform.plugin;
import java.util.EventObject;
import kd.bos.form.plugin.AbstractFormPlugin;
/**
* <p>Title: </p>
* <p>
* Description:
* afterCreateNewData 事件 试验
*
* </p>
* <p>Copyright: Copyright (c) 2020</p>
* @author xx
* @date 2020年3月6日
* @version 1.0
*/
public class AfterCreateNewDataSample extends AbstractFormPlugin {
private final static String KEY_ENTRYENTITY = "entryentity";//单据体控件
private final static String KEY_INTEGERFIELD1 = "integerfieldap1";//整数控件
/**
* <p>Title: afterCreateNewData</p>
* <p>
* Description:
* 界面初始化或刷新,新建表单数据包成功,并给字段填写了默认值之后,触发此事件;
* 插件可以在此事件,重设字段的默认值。
* 部分字段的默认值难以通过设计器配置出来,如需要计算的值、
* 根据系统参数选项决定的值,必须写插件实现。
* </p>
* <p>Copyright: Copyright (c) 2020</p>
* @author xx
* @date 2020年3月6日
* @param param the bare_field_name
* @param e
* @see kd.bos.entity.datamodel.events.IDataModelListener#afterCreateNewData(java.util.EventObject)
* @version 1.0
*/
@Override
public void afterCreateNewData(EventObject e) {
int rowCount = this.getModel().getEntryRowCount(KEY_ENTRYENTITY);
if (rowCount < 10){
// 给单据体补足10行
this.getModel().batchCreateNewEntryRow(KEY_ENTRYENTITY, 10 - rowCount);
rowCount = 10;
}
// 逐行给整数字段设置默认值
for(int row = 0; row < rowCount ; row++){
int fldValue = row + 1;
this.getModel().setValue(KEY_INTEGERFIELD1, fldValue, row);
}
}
}
- debug重启DebugServer后注册插件并对其进行预览测试,如图所示测试成功
以上就是我关于 金蝶云苍穹动态表单插件afterCreateNewData事件案例 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。
分割线