|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622 。
您需要 登录 才可以下载或查看,没有帐号?注册
x
近来,有多位朋友问及OAF页面初始化查询的问题,我在这里做下总结:
一般的情景是这样,在PG或RN上增加一个table Region,并创建一个VO,一个AM,一个CO,然后把VO挂到AM中,把AM挂到PG或RN上,把CO指定到region上去,把VO的attribute各项与table Region中的各item进行关联。
代码示例见下方:
AM:
--------------------------------------------------------------------------
WorkOrderDetailsAMImpl.java
有两个方法:
public CUXWIPCheckVOImpl getCUXWIPCheckVO() {
return (CUXWIPCheckVOImpl)findViewObject("CUXWIPCheckVO");
}
public void initCUXWIPCheckQuery(String args){//该方法需要自己添加
CUXWIPCheckVOImpl cuxvo = getCUXWIPCheckVO();
cuxvo.initQuery(args);
}
--------------------------------------------------------------------------
CUXWIPCheckCO.java
有方法:
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processRequest(pageContext, webBean);
//下面代码需要自己添加
String wipId = pageContext.getParameter("WipEntityId");
String rgId = pageContext.getParameter("OrgId");
OAApplicationModule am = pageContext.getApplicationModule(webBean);
String args = wipId + "#" + orgId;
Serializable[] arguments = {args};
am.invokeMethod("initCUXWIPCheckQuery",arguments);
}
---------------------------------------------------------------------------
CUXWIPCheckVOImpl.java
public class CUXWIPCheckVOImpl extends OAViewObjectImpl {
//该方法需要自己添加
public void initQuery(String args) {
setWhereClauseParams(null);
int i = 0;
i = args.indexOf("#");
String arg1 = args.substring(0, i);
String arg2 = args.substring(i + 1);
setWhereClauseParam(0, arg1);
setWhereClauseParam(1, arg2);
executeQuery();
}
}
[ 本帖最后由 atomic79 于 2008-3-25 10:40 编辑 ] |
|