新建基础资料
如图所示为我所新建的基础资料,新建步骤省略

新建插件类
如图所示为我所新建的插件类 DemoFormPlugin

注册插件

编码测试
- 不嫌麻烦就可以重写父类所有方法,当然我是按需所复写方法


- Debug启动DebugServer类
这个步骤相当于重新布署,即手动布署

- 编码
package kd.bos.form.plugin;
import java.util.EventObject;
import kd.bos.form.events.PreOpenFormEventArgs;
/**
* <p>Title: </p>
* <p>
* Description:
* 表单插件验证
* </p>
* <p>Copyright: Copyright (c) 2020</p>
* @author xx
* @date 2020年2月27日
* @return the bare_field_name
* @version 1.0
*/
public class DemoFormPlugin extends AbstractFormPlugin {
/**
* (non-Javadoc)
* <p>Title: preOpenForm</p>
* <p>
* Description:
* 打开表单之前的执行的方法
* </p>
* <p>Copyright: Copyright (c) 2020</p>
* @author xx
* @date 2020年2月27日
* @param e
* @see kd.bos.form.plugin.AbstractFormPlugin#preOpenForm(kd.bos.form.events.PreOpenFormEventArgs)
*/
@Override
public void preOpenForm(PreOpenFormEventArgs e) {
// TODO Auto-generated method stub
// super.preOpenForm(e);
e.getFormShowParameter().setCaption("涎涎的测试页面");
// e.setCancel(true);//设置点击预览时取消打开页面
}
/**
* (non-Javadoc)
* <p>Title: afterCreateNewData</p>
* <p>
* Description:
* 创建表单之后执行的方法
* </p>
* <p>Copyright: Copyright (c) 2020</p>
* @author xx
* @date 2020年2月27日
* @param e
* @see kd.bos.entity.datamodel.events.IDataModelListener#afterCreateNewData(java.util.EventObject)
*/
@Override
public void afterCreateNewData(EventObject e) {
// TODO Auto-generated method stub
// super.afterCreateNewData(e);
this.getModel().setValue("textfield", "你好金蝶");
this.getModel().setValue("currencyfield", "6");
}
/**
* (non-Javadoc)
* <p>Title: afterBindData</p>
* <p>
* Description:
* </p>
* <p>Copyright: Copyright (c) 2020</p>
* @author xx
* @date 2020年2月27日
* @param e
* @see kd.bos.form.plugin.AbstractFormPlugin#afterBindData(java.util.EventObject)
*/
@Override
public void afterBindData(EventObject e) {
// TODO Auto-generated method stub
// super.afterBindData(e);
this.getView().setVisible(false, "baritemap1");
this.getView().setEnable(false, "baritemap2");
// this.getView().setEnable(false,0,"id");//设置单据体的某一行不可用
}
}
预览效果
预览前的效果

预览后的效果

以上就是我关于 金蝶云苍穹插件开发之动态表单界面初始化事件测试 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。
分割线
网友评论