
# afterCreateData 事件
## 1. 事件介绍
该事件为数据包创建之后的事件。插件在此对已创建好的模型数据包进一步加工,比如调整字段默认值,增加单据体默认行等。
由于部分字段的默认值难以通过设计器配置出来,如需要计算的值、根据系统参数选项决定的值,则需要写插件实现。
## 2. 事件触发时机
界面初始化或刷新,新建表单数据包成功,并给字段填写了默认值之后,触发此事件。
## 3. 代码模板
该事件定义在接口IDataModelListener下,插件抽象基类 kd.bos.form.plugin.AbstractFormPlugin 对接口进行了实现,因此可基于此抽象基类对插件进行定义。
例:
```java
package kd.bos.plugin.sample.dynamicform.pcform.form.template;
import java.util.EventObject;
import kd.bos.form.plugin.AbstractFormPlugin;
public class AfterCreateNewData extends AbstractFormPlugin {
@Override
public void afterCreateNewData(EventObject e) {
// TODO 在此添加业务逻辑
}
}
```
## 4. 参数说明
EventObject e: 事件参数对象,含有事件源
- Object getSource():表单数据模型IDataModel对象,可以据此对表单数据进行控制。
## 5. 应用示例
### 5.1 案例说明
表单加载时,默认创建10行分录数据,并将行号设置到对应整数字段(integerfieldap)。
### 5.2 实现方案
处理 afterCreateNewData 事件:
1. 给单据体添加10行;
2. 逐行填写整数字段值。
### 5.3 实例代码
```java
package kd.bos.plugin.sample.dynamicform.pcform.form.bizcase;
import java.util.EventObject;
import kd.bos.form.plugin.AbstractFormPlugin;
public class AfterCreateNewDataSampl