当前位置:首页 > EAS-BOS开发问题解决
dialog.setOwner((Component) getUIContext().get(UIContext.OWNERWINDOW)); } else {
dialog.setOwner(this); }
dialog.setUiObject(this);
dialog.setParentUIClassName(this.getClass().getName());
dialog.addUserPanel(getMessageExportUserPanel(uicontext));//将UI封装进CommonQueryDialog对象里面。
dialog.setShowToolbar(false);//是否显示工具条,默认方案等。 dialog.setShowFilter(true);//显示自定义查询页签
dialog.setQueryObjectPK(mainQueryPK);//将自定义过滤功能封装进来 dialog.setTitle(\短信数据导出\设置探出框的title。 dialog.setWidth(550); dialog.setHeight(300); return dialog;
}
具体更多的设置可以参考CommonQueryDialog这个类。
如何从CommonQueryDialog得到自定义UI。
解决:
public void actionTxtExport_actionPerformed(ActionEvent e) throws Exception
{
dialog = initMessageExportDialog(uiContext);
if (dialog.show())//弹出对话框出现的时候,代码运行停留在这一行。当点击确定的时候将继续运行。 {
tHelper.setDialog(dialog);
GovHrMessageExportUI govHrMessageExportUI = (GovHrMessageExportUI) dialog.getUserPanel(0);
用这种方式得到自定义UI。得到了UI,相当于实例化了这样的一个类,还可以得到类的方法。
String path=govHrMessageExportUI.getPath();//getPath()是定义在GovHrMessageExportUI中的方法。 }
}
如何实现一个弹出保存对话框。
GovFileChooserPromptBox prmtRoad = new GovFileChooserPromptBox(this,
GovFileChooserPromptBox.CHOOSERTYPE_TXT); //GovFileChooserPromptBox是自已定义的一个保存弹出框,可以找到该类进行参考。里面有一个保存样式设置的。可以保存为什么类型的文件。 prmtRoad.setDisplayFormat(\设置显示格式
prmtRoad.setEditable(false);//设置是否可以输入,false的话只能够通过点击F7进入。
如何在弹出的对话框点击确定后进行验证。
解决:
在UI实现,UI是封装进入对话框的UI。 dialog.addUserPanel(UI); public boolean verify() { }
如何设置一个监听事件,在切换单元格的时候进行一些动作。
解决:
private void setMoneySumAction() { kdtBgDetail.addKDTEditListener(new KDTEditAdapter() {
public void editStopped(KDTEditEvent e) { //当光标移出单元格的时候触发事件
……
} });
}
将setMoneySumAction方法设置在ONLOAD中。
如何判断单击了列头。
解决:
protected void orderByClickTableHead(KDTMouseEvent e) throws Exception { if(e.getType() == KDTStyleConstants.HEAD_ROW }
&& e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 1){
……
如何实现排序。如何默认进入一个ListUI实现按照某个字段进行排序
解决:如何实现排序参考EmployeeMutiF7UIGov.java。
进入ListUI的时候默认排序可以重写父类的initDefaultFilter()方法。该方法会在进入页
面的时候进行调用。 设定过滤可以这样子: if(mainQuery == null)
mainQuery = new EntityViewInfo();
FilterInfo filterInfo = new FilterInfo();//实例化一个过滤对象。 filterInfo.getFilterItems().add(new FilterItemInfo(\
Integer(0)));//添加过滤条件isDelete=0; filterInfo.getFilterItems().add(new FilterItemInfo(\
Integer(StateEnum.DISABLE_VALUE),CompareType.NOTEQUALS));//添加过滤条件enable!= 枚举StateEnum的DISABLE_VALUE值。 filterInfo.setMaskString(\将刚才两个条件设置进去。其中#0代表isDelete的过滤,#1代表enable的过滤。
this.mainQuery.setFilter(filterInfo);//最后将对象设进EntityViewInfo,做
了封装了。
有一点需要注意的是首先要找到Query,因为isDelete,enable是Query的属性,而不是代表表里的字段。
设定排序是这样子的:
SorterItemInfo sorterOrderItem1 = new SorterItemInfo(\实例化一个排序对象
sorterOrderItem1.setSortType(SortType.ASCEND);//设置排序类型
mainQuery.getSorter().add(sorterOrderItem1);//添加进入EntityViewInfo对
象的Sorter的属性中。
如何初始化一个Tree?
解决:
例子
protected void initTree() throws Exception {
GovHrSchemeSetCollection schemeSet =
GovHrSchemeSetFactory.getRemoteInstance().getGovHrSchemeSetCollection( \*,schemeSetEntry.cmpScheme.*,schemeSetEntry.* where hrOrgUnit.id='\+ HRSchemeUtils.getClientHROrgUnitInfo().getId().toString() + \order by number asc \获取集合对象。
treeMain.setModel(new DefaultTreeModel(bulitTree(schemeSet)));//创建树, bulitTree(schemeSet)必须是TreeNode对象,包含了所有各级的节点。
}
protected TreeNode bulitTree(GovHrSchemeSetCollection src) { KDTreeNode result = new KDTreeNode(\薪酬方案组合\创建一个节点,处于最上层。 for (int i = 0; i < src.size(); i++) {
KDTreeNode tn = new KDTreeNode(src.get(i)); if (src.get(i).getSchemeSetEntry().size() > 0) {//判断是否有分录对象,有的话还要再创建子节点。
for (int j = 0; j < src.get(i).getSchemeSetEntry().size(); j++) { KDTreeNode leaf = new
KDTreeNode(src.get(i).getSchemeSetEntry().get(j));//将一个对象设置为一个节点,该
节点就是一个GovHrSchemeSetEntry对象。
}
}
}
result.add(tn);
}
tn.add(leaf);
return result;
循环创建节点的方法:
protected KDTreeNode bulitTree(TreeNode src) { if (src==null){ return null;
}
KDTreeNode result = new KDTreeNode(((DefaultKingdeeTreeNode)
src).getUserObject()); for (int children = 0; children < src.getChildCount(); children++) { TreeNode tn = (TreeNode) src.getChildAt(children);
if (!tn.isLeaf()) {
共分享92篇相关文档