先介绍下弹框前的准备工作:
1.签名选项——定义系统中可授权的所有功能的唯一标识。定义签名选项是为了授权而已。定义的签名名要和相应的bean类中的方法一致。
2.签名选项中的功能实现,一般都在APPBEAN中,有与签名选项标识对应的方法,AppBean类extendsDataBean,所以方法大多都是想通的。
3.重要提示:
地点级别的对象(组织级别的对象)
同一级别的对象,通过系统功能做关联查找时,一般会默认把权限信息带入。
(事件:toggleselectrow)
我的例子:
1.自己的应用,界面设计器,加 签名选项;
2.把该签名选项放置到 选择操作(下拉菜单)、工具栏中;
3.权限组中,对此功能授权;
4.在应用程序设计器中,导出应用xml,加入dailog;
5.验证该对话框可正常弹出;
6.修改对话框xml,加入只读table列表,可多选;
7.编写对话框绑定databean类,重写 exectue()方法,可将table中已勾选的内容
添加到界面子表中;
8.可正常保存、查询。
过程的步骤:
1、在应用程序界面下拉框中选择 添加/修改应用程序 进行添加下拉弹框功能;选择添加修改工具在相应的属性中设置相应的功能。
2、导出xml文件,在xml文件中设置弹框的内容:
dialog id="testdialog" label="测试弹出对话框" realitionship="DN_TEST">
<helpgrip id="testdialog_1" innerhtml="测试通过ID关联,弹出自定义对话框"/>
<section id="testdialog_gridla_1_1_gridla">
<section/>
<table id="testdialog_table" inputmode="readonly" label="地点列表" selectmode="single">
<tablebody displayrowsperpage="2" filterable="true" inputmode="readonly id="testdialog_table_tablebody">
<tablecol dataattribute="siteid" id="testdialog_tablecolumn_1"/>
<tablecol dataattribute="description" id="testdialog_tablecolumn_2"/>
<tablecol dataattribute="orgid" id="testdialog_tablecolumn_3"/>
</tablebody>
</table>
<buttongroup id="testdialog_2">
<pushbutton default="true" id="bookmarks_2_2" label="确定" mxevent="dialogok"/>
</buttongroup>
</dialog>
3、编写主页面的AppBean类,注意是继承于主页面的AppBean类(在切换--表达 可以看到此类);
4、编写相应的子对象页面的类 继承于DataBean类,在此类里写相应的逻辑代码:
package sitow.mis.webclient.dntest;
import java.rmi.RemoteException;
import java.util.Vector;
import psdi.mbo.MboRemote;
import psdi.util.MXException;
import psdi.webclient.system.beans.DataBean;
public class LpDialogDateBean extends DataBean {
public int execute() throws MXException,RemoteException {
//获取对话框databean
DataBean bean=app.getDataBean("testdialog_table");
//获取bean已勾选的对象集
Vector<MboRemote> ver=bean.getSelection();
//待添加的databean
DataBean bLine=app.getDataBean("1440729049931");
for(int i=0;i<ver.size();i++) {
MboRemote mbo=ver.get(i);//获取每一个已经选中的mbo
bLine.addrow();
// bLine.getMbo().setValue("","",11L);
}
return super.execute();
}
}
5、测试 弹出自定义对话框
过程中的问题:
1、在组织设置活动:科目表中创建相应的表达式,可以勾选活动,之后地点也可以勾选上活动;
2、弹出来的框报红说明相关的属性填写错误,包括一些关联、业务对象等;
3、在数据库中配置主对象的关联,用来设置查询条件;
4、将弹出的数据保存到子页面上。
注:由于表达可能不太清楚,所以不足支出还望见谅,如有问题,我一定第一时间改正。
email: zingpan@foxmail.com
微博: Lovrpan