单据开发-业务单据Edit界面代码上篇(GUI端)

关注公众号获取更多金蝶EAS开发方面的内容

因论坛版权要求,部分图片无法显示,可以直接方位微信公众号链接
https://mp.weixin.qq.com/s/t91LiENYO0XmdV9lFhOJ0w
本篇文档介绍业务单据Editt界面的一些常用样式开发
01
新增单据设置默认值
/*** 新增单据*/
protected com.kingdee.bos.dao.IObjectValue createNewData(){
com.kingdee.eas.custom.cost.ExpenseBillInfo objectValue = new com.kingdee.eas.custom.cost.ExpenseBillInfo();
objectValue.setCreator((com.kingdee.eas.base.permission.UserInfo)(com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentUser()));
//设置空控件默认值
objectValue.setBizDate(new Date());//设置默认业务日期
objectValue.setBillState(billStateEnum.SAVE);//设置单据状态
UserInfo userInfo = (UserInfo) (SysContext.getSysContext().getCurrentUser());objectValue.setApplier(userInfo.getPerson()); //设置报销人
return objectValue;
}
说明:
标准自带的createNewData方法,对objectValue设置相应的属性值即可,该方法只会在单据新增时调用
02
新增分录设置默认值
/** * 新增分录行 */
protected IObjectValue createNewDetailData(KDTable table) {
ExpenseBillEntryInfo info = new ExpenseBillEntryInfo(); // 创建一个分录实体对象
info.setAmount(BigDecimal.ZERO); // 金额默认为0
return info;
}说明:
标准自带的createNewDetailData方法,新增一个分录对象,对象设置属性值,返回对象就可以了,在分录每次新增行时会调用该方法
03
初始化单据按钮
/** * 初始化按钮 */
protected void initWorkButton() {
super.initWorkButton();
btnAudit.setEnabled(true); //审核按钮可用
btnUnAudit.setEnabled(true); //反审核按钮可用
chkMenuItemSubmitAndAddNew.setSelected(false); //取消连续新增
menuSubmitOption.setVisible(false);//取消连续新增
btnCopy.setVisible(false); //隐藏赋值
actionCopy.setEnabled(false); //禁用赋值action
actionCopy.setVisible(false);
}说明:
重写标准自带的initWorkButton方法,需要先执行完毕父类的逻辑再执行自己开发的逻辑,所以需要在super加入自定义代码,在界面每次打开时会调用该方法
04
样式设置
/** *页面打开 */
public void onShow() throws Exception {
super.onShow();
initHeadStyle(); //新增表头样式方法
initTableStyle();//新增分录表头样式方法
}说明:
重写标准自带的onShow方法,需要先执行完毕父类的逻辑再执行自己开发的逻辑,所以需要在super加入自定义代码,在界面每次打开时会调用该方法
05
页面表头样式设置
/** * 设置表头样式 */
private void initHeadStyle() {
//txtnumber 字段可以不用设置,父类中已经对该控件进行了控制,例如启用编码规则后不可修改等
pkBizDate.setRequired(true);//设置必填
prmtapplier.setRequired(true);//设置必填
prmtcompany.setRequired(true);//设置必填
prmtdept.setRequired(true); //设置必填
txtamount.setRequired(true);//设置必填
billState.setEnabled(false); //设置不可修改
//设置默认过滤
// EntityViewInfo view = new EntityViewInfo(); //创建view 用来过滤
// FilterInfo expenseFilter = new FilterInfo(); //创建filter //用来过滤
// expenseFilter.getFilterItems().add(new FilterItemInfo("isEnabled",true));
//设置过滤条件 只在展示启用状态的数据
// view.setFilter(expenseFilter);// 将filter 放进view
// SorterItemCollection sic = new SorterItemCollection();
//设置排序
// SorterItemInfo sicItme = new SorterItemInfo("number");
//设置按照编码排序
// sicItme.setSortType(SortType.ASCEND);
//设置排序方式
// sic.add(sicItme);
// view.setSorter(sic);
//排序赋值给 view
// prmtcompany.setEntityViewInfo(view);
// 给公司字段设置过滤
}说明:
新增initHeadStyle方法,在onShow方法的super后调用,一般用来设置固定的有些属性,例如必填,是否显示,是否必填,以及一些F7的固定过滤
注:
1、设置的必填只是把单元格的背景色设置为了黄色,单据在保存和提交时不会主动去验证,验证方法需要自己添加。
2、一些动态的过滤,例如选择了公司之后,过滤部门F7只能选择该公司的下属部门,会在下篇文章中讲解。
06
页面分录样式设置
/**
* 设置分录样式
*/
private void initTableStyle() {kdtEntrys.checkParsed(); //解析分录
kdtEntrys.getColumn("amount").setRequired(true); //设置必填
kdtEntrys.getColumn("taxRate").setRequired(true); //设置税率必填
kdtEntrys.getColumn("expenseType").setRequired(true); //设置必填
kdtEntrys.getColumn("tax").getStyleAttributes().setLocked(true); //锁定列 不允许编辑
kdtEntrys.getColumn("id").getStyleAttributes().setHided(true); //隐藏列
String numberFormat = "%r-[=]{#,##0.00}n";
kdtEntrys.getColumn("amount").getStyleAttributes().setNumberFormat(numberFormat); //分录设置金额字段展示样式
kdtEntrys.getColumn("taxRate").getStyleAttributes().setNumberFormat(numberFormat);//分录设置税率字段展示样式
kdtEntrys.getColumn("tax").getStyleAttributes().setNumberFormat(numberFormat);//分录设置税额字段展示样式
kdtEntrys.getColumn("purpose").getStyleAttributes().setWrapText(true); //设置自动换行
kdtEntrys.getColumn("purpose").setWidth(200); // 设置列宽
kdtEntrys.getHeadRow(0).getCell("purpose").setValue("费用说明1"); //设置表头显示名字,因存在多表头getHeadRow 需要获取修改第几行表头
//动态给分录F7 设置属性以及过滤
kdtEntrys.addKDTEditListener(new KDTEditAdapter() {
// 跟F7添加监听事件
public void editStarted(KDTEditEvent e) {
int rowIndex=e.getRowIndex();
int colIndex = e.getColIndex();
单据开发-业务单据Edit界面代码上篇(GUI端)
关注公众号获取更多金蝶EAS开发方面的内容因论坛版权要求,部分图片无法显示,可以直接方位微信公众号链接 https://mp.weixin.qq.com/s/t91...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇
下一篇



