您的位置:首页 > 编程语言

金蝶BOS开发中Edit编辑界面和List叙事薄界面需要写的代码

2012-05-01 21:02 274 查看
本人刚开始从事金蝶EAS开发,对于这个也是刚刚解除,下面是一些学习整理,

EditUI中的代码

public class MyBillEditUI extends AbstractMyBillEditUI
{
public MyBillEditUI() throws Exception
{
super();
}
//把数据对象加载到当前UI界面相应的控件
public void loadFields()
{
super.loadFields();
}
//同步当前UI业务数据到数据对象
public void storeFields()
{
super.storeFields();

}
//进行某些控件或数据设置
public void onLoad() throws Exception {
IColumn column = this.kdtEntries.getColumn(1);
column.getStyleAttributes().setLocked(true);
super.onLoad();
this.actionSubmit.addService( new ForewarnService() ) ;
this.actionSubmit.addService( new WorkFlowService() ) ;
this.actionSubmit.setBindWorkFlow( true ) ;
}
//创建新的数据对象,并设置初始值
protected IObjectValue createNewData() {
MyBillInfo result = new MyBillInfo();
result.set*(value);
result.getEntries();
return result;
}
//创建分录数据对象,并设置初始值
protected IObjectValue createNewDetailData(KDTable table) {
return new MyBillEntryInfo();
}
//获取分录table
protected KDTable getDetailTable() {
return kdtEntries;
}
//获取业务接口
protected ICoreBase getBizInterface() throws Exception {
return MyBillFactory.getRemoteInstance();
}
//检验数据的合法性,并抛出异常
protected void verifyInput(ActionEvent e) throws Exception {
if (this.getDataObject()==null){ throw new Exception();}
}
//设置某些字段==null
protected void setFieldsNull(AbstractObjectValue newData) {
newData.set**(null);
}
//保存数据
public IObjectPK runSave() throws Exception {
//设置editData的某些值
super.runSave();
}
//同runSave
public IObjectPK runSubmit() throws Exception
{
…
super.runSubmit();
}
//修改后是提交或暂存 true为暂存 false为提交
protected boolean isModifySave()
{
return false;
}


ListUI中的代码

public class MyBillListUI extends AbstractMyBillListUI
{
public MyBillListUI() throws Exception{
super();
this.setUITitle("单据测试");
}

/**
*把数据对象加载到当前UI界面相应的控件,针对序事薄没有用处
*/
public void loadFields(){
super.loadFields();
}
/**
*同步当前UI业务数据到数据对象,针对序事薄没有用处
*/
public void storeFields(){
super.storeFields();
}
/**
*提供序事薄需要打开的编辑界面UI的类名
*/
protected String getEditUIName() {
return MyBillEditUI.class.getName();
}
/**
*返回当前业务的远程或本地业务接口
*/
protected ICoreBase getBizInterface() throws Exception {
return MyBillFactory.getRemoteInstance();
}
/**
*由开发人员提供当前table的主键字
*/
protected String getKeyFieldName() {
return "id";
}
/**
*如果业务需要融合某些列,需要提供这些列的key(即融合单据头)
*/
public String[] getMergeColumnKeys(){
String[] mergeColumn = new String[2];
mergeColumn[0] = new String("id");
mergeColumn[1] = new String("number");
return mergeColumn;
}
/**
*要在状态栏显示当前的单据条数,需要业务返回计算单据条数的字段
*/
protected String[] getCountQueryFields(){
return new String[] {“id“};
}
/**
*可以指定当前窗口的打开模式,默认情况下不用指定
* UIFactoryName.MODEL,UIFactoryName.NEWWIN,UIFactoryName.NEWTAB
*/
protected String getEditUIModal(){
return UIFactoryName.MODEL;
}
/**
*是否需要进行表格排序,业务可以覆盖返回false,屏蔽点击单据头排序动作
*/
protected boolean isOrderForClickTableHead(){
return true;
}
/**
*返回不需要排序的表列数组,默认返回null
*/
protected String[] getNotOrderColumns(){
return null;
}
/**
*可以在父类的onload后做一些自己的事情
*/
public void onLoad() throws Exception {
super.onLoad();
//如设置滚动条隐藏
//this.getMainTable().setScrollStateVertical(KDTStyleConstants.SCROLL_STATE_HIDE);
}
/**
*允许构造传递给EditUI的UIContext,继承类实现
*/

protected void prepareUIContext(UIContext uiContext, ActionEvent e){
super.prepareUIContext(uiContext,e);
//传递自己的上下文参数或其他值
uiContext.put(key,value);
}
/**
*关闭窗口
*/
public boolean destroyWindow() {
super.destoryWindow();
//做自己的一下销毁动作
}
}


EditeUI 类是客户端编辑界面对应的类



ListUI 类是客户端叙事簿界面对应的类

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐