SorterItemInfo siInfo= siColl.get(0); //第一个需要排序的字段 siInfo.setSortType(SortType.ASCEND); //需要排序的字段升序 evi.setFilter(filterInfo); 33.设置默认第一行被选中:
protected void selectFirstRow() {
if(!isSelectForTable()&&tblPaymentBill.getRow(0)!=null&& tblMain.getRow(0) != null) {
tblPaymentBill.getSelectManager().select(0, 0); tblMain.getSelectManager().select(0, 0); } }
34. 慎重使用---在循环里去比较数值,这种情况尽量用过滤 35. 发布后,找不到代码,检查下发布路径
36. 用代码生成ID:BOSUuid.create(menuItemInfo.getBOSType()) 37. BigDecimal的加,减,乘,除
加:addPayment = addPayment.add(paymentInfo.getLocalAmt()); 减:addPayment = addPayment. subtract(paymentInfo.getLocalAmt()); 乘:addPayment = addPayment. multiply(paymentInfo.getLocalAmt()); 除:addPayment = addPayment. divide(paymentInfo.getLocalAmt(),int); BigDecimal数据取整数:intValue(); BigDecimal数据比较,取大数据:max(); 38. BigDecimal的初始化:
BigDecimal addPayment = new BigDecimal(String.valueOf(0.00)); 39. 在子界面获取传递下来的数据
private void loadContext() {
int mode = ((Integer)this.getUIContext().get(\
AccountTableInfo accountTableInfo = (AccountTableInfo) this.getUIContext().get(\CtrlUnitInfo cuInfo = (CtrlUnitInfo) this.getUIContext().get(\
AsstAccountInfo asstAccountInfo = (AsstAccountInfo) this.getUIContext().get(\
AuxAccountEditUI ui = (AuxAccountEditUI) this.getUIContext().get(\}
40.初始化按钮属性(图标,标题,可见): 重写方法initWorkButton() {
super.initWorkButton();
actionCashflow.setEnabled(true); btnRemove.setEnabled(true); setButtonDefaultStyl(btnQuery);
btnQuery.setIcon(EASResource.getIcon(\ setButtonDefaultStyl(btnAttachment);
btnSubmit.setIcon(EASResource.getIcon(\ setButtonDefaultStyl(btnSubmit); }
41.隐藏列:
tblMain.getColumn(\
42.冻结表:
tblMain.getStyleAttributes().setLocked(true);
43. tblMain.getDataRequestManager().setDataRequestMode(1); tblMain.getSelectManager().setSelectMode(10);、 44.对界面输入的字段进行校验:
调用方法:verifyInput(ActionEvent e){ }
对界面分录输入的字段进行校验:
for (int i = 0, size = this.kdtEntrys.getRowCount(); i < size; i++) {
}
45.得到当前用户id
userId = ((UserInfo)SysContext.getSysContext().getCurrentUser()).getId().toString();
46. /**校验表格是否被选中行**/ public void isSelectRow(KDTable table) {
if(table.getRowCount() == 0 || table.getSelectManager().size() == 0) {
MsgBox.showWarning(this,EASResource.getString(\
.FrameWorkResource.Msg_MustSelected\
SysUtil.abort(); } }
47. 模块菜单图标——imgm* 按钮图标——imgTbtn* 49. KDLabel kDStartupImage;设置图片
javax.swing.Icon bg = EASResource.getIcon(\
kDStartupImage.setIcon(bg);
50.一般控件放在Panel里就可以了,向导式数据录入,可以通过控制Panel的显示达到 51. 在表格的某列放置一个checkbox:
iRow.getCell(\51. 窗口关闭:getUIWindow().close();
VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i,
\
VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyNull(this, txttitle, \主题\判断是否为空 if (finAuditorMap == null || finAuditorMap.size() == 0) { }
MsgBox.showError(this, \请选择至少一位财务审批人!\SysUtil.abort();
52. 获取当前活动的行的行号:
int currRow = tblMain.getSelectManager().getActiveRowIndex(); 53. 新增分绿的图标:imgTbtn_addline,删除分录的图标:imgTbtn_deleteline 54. 删除行(包括多行删除):
int activeIndex[] = KDTableUtil.getSelectedRows(kDTable1); if(activeIndex.length > 0) {
for(int i = activeIndex.length; i > 0; i--) kDTable1.removeRow(activeIndex[i - 1]); } else {
int lastRowIndex = kDTable1.getRowCount() - 1; kDTable1.removeRow(lastRowIndex); }
55. 表格列设置成F7弹出可选模式:
KDBizPromptBox prmtBox = new KDBizPromptBox();
prmtBox.setQueryInfo(\ prmtBox.setDisplayFormat(\ prmtBox.setEditFormat(\ prmtBox.setCommitFormat(\
EntityViewInfo contractEVInfo = new EntityViewInfo();
FilterInfo contractFilter = new FilterInfo(); contractFilter.getFilterItems().add(new contractEVInfo.setFilter(contractFilter);
FilterItemInfo(\
prmtBox.setEntityViewInfo(contractEVInfo);
kDTable1.getColumn(\
56. 表格列设置成下拉可选模式:
KDComboBox combox = new KDComboBox();
combox.addItem(iter.next()));
kDTable1.getColumn(\KDTDefaultCellEditor(combox));
57.弹出模式:1. 弹出一个新界面:UIFactoryName.Model
2. 弹出一个页签界面:UIFactoryName.NEWTAB
3. 弹出一个页签界面关闭上一个界面:UIFactoryName.FixTAB 58. 如何指定选择模式
table.getSelectManager().setSelectMode(KDTSelectManager.CELL_SELECT); 59. 获取所选中的行数:
Int selectCount = tblMain.getSelectManager().size(); 60. 获取所选中的多行的各行的行号:
int[] selectRows = KDTableUtil.getSelectedRows(tblMain); 61. 获取树节点对象
selectedPathObject = getSelectedTreeNode().getUserObjectPath(); 62. 新增需要查询的属性
for(Iteratoriter = ValueTypeEnum.iterator();iter.hasNext();
SelectorItemCollection sic = new SelectorItemCollection(); sic.add(new SelectorItemInfo(\ sic.add(new SelectorItemInfo(\
sic.add(new SelectorItemInfo(\ sic = evi.getSelector(); 62. portal
1.设置可信站点 2. 下载kdjdk1.6 3. 下载kdtool.cad
4.设置自定义级别 5. Internet选项 ——常规——设置——查看对象 中删除kingdee文件
63. 多值过滤,通过集合set HashSet set = new HashSet(); OrgStructureInfo company; for(Iterator
iter
=
list.iterator();
iter.hasNext();
set.add(company.getUnit().getId().toString())) company = (OrgStructureInfo)iter.next(); if(set.size() > 0)
filter.getFilterItems().add(new 64. 工作流
5.4 5.3版本的BOS工具在EAS安装了一些补丁之后,出现工作流不能连接,提示服务器无法连接,服务器不能启动的原因与EAS服务器所使用的BOS .jar包和BOS设计工具中使用的 .jar包不一致有关系 可以使用下面的步骤来手工同步
把eas服务器安装路径下的几个jar包复制到bos工具安装目录的对应的几个文件下面 例如
eas服务器安装在 f:\\kingdee bos工具安装在 d:\\easbos\\
从 F:\\Kingdee\\eas\\server\\lib\\common\\bos
复制common.jar metadata.jar ormrpc.jar workflowcommon.jar bosframework.jar 到 D:\\EASBOS\\eas\\bos\\BOSModular\\boscommon\\eclipse\\plugins 注意在bos里面这几个文件都有单独的文件夹来存放 如
com.kingdee.bos.common_5.4.0,com.kingdee.bos.ormrpc_5.4.0,.... 不能只把几个jar文件都复制到bos工具的plugin文件夹 需要逐个文件替换 具体如下
F:\\Kingdee\\eas\\server\\lib\\common\\bos\\ormrpc.jar 替换
D:\\EASBOS\\eas\\bos\\BOSModular\\boscommon\\eclipse\\plugins\\com.kingdee.bos.ormrpc_5.4.0\\ormrpc.jar
其他依此类推共3个文件 (workflowcommon.jar 的位置在
D:\\EASBOS\\eas\\bos\\BOSModular\\wfdesigner\\eclipse\\plugins\\com.kingdee.bos.workflowcommon_5.4.0
bosframework.jar的位置在
FilterItemInfo(\
set,
CompareType.INCLUDE));