OAF中如何更改query的默认查询
来源:互联网 发布:线切割编程软件下载 编辑:程序博客网 时间:2024/06/06 00:45
OA Framework使用Query Region来创建查询,可以创建简单的查询、高级查询和保存用户个性化的查询。query Region有三种构建方式:
1,resultsBasedSearch
OA Framework根据查询结果表格(或HGrid)中定义的可查询的Item自动生成查询面板。OA Framework在用户选择查询按钮后自动根据用户输入的值,生成Where子句,并执行查询。
2,autoCustomizationCriteria
OA Framework根据开发者定义的简单查询和高级查询Region生成查询面板。OA Framework在用户选择查询按钮后,根据用户输入的值,生成Where子句,并执行查询。
利用这种模式可以更改查询项的类型,比如使用LOV、Poplist等,还可以加入结果表(或HGrid)中不存在的查询项目。
3,None
OA Framework根据开发者定义的简单查询和高级查询Region生成查询面板。开发人员需要自己实现视图对象的查询逻辑。这种方式一般用于无法使用query Region所提供的功能的情况。
本文主要介绍在autoCustomizationCriteria模式下如何控制query的查询。比如对于日期的查询一般用区间范围进行查询,而默认情况下,OA Framework生成的Where子句做相等比较。
- 为query Region创建简单查询面板,创建各个查询Item,包括日期从和日期至。
- 为各个查询Item创建SearchMapping,除了日期从和日期至两个查询项。此时除了日期范围,其余项目的查询都已经可用。
- 在query Region所在的Controller类processFormRequest()方法中加入以下代码
OAQueryBean querybean = (OAQueryBean)webBean.findIndexedChildRecursive("QueryRN");// 判断用户是否选择了查询按钮if (pageContext.getParameter(querybean.getGoButtonName()) != null){ String dateFrom = pageContext.getParameter("SearchDateFrom"); String dateTo = pageContext.getParameter("SearchDateTo"); OAApplicationModule am = pageContext.getApplicationModule(webBean); Serializable[] params = {dateFrom, dateTo}; am.invokeMethod("bindDateRangeWhereClause", params);}
4.应用程序模块中方法如下:
public void bindDateRangeWhereClause(String dateFrom, String dateTo){ OAViewObject vo = getXxxVO1(); String clause = null; String joinStr = ""; if (vo.getWhereClause() != null) { joinStr = "AND"; } if ((dateFrom != null) && (!("".equals(dateFrom.trim())))) { clause = " RECEIPT_DATE >= :"; whereClause.append(++bindCount); parameters.addElement(Date.valueOf(dateFrom)); clauseCount++;}// 条件:接收日期至if ((dateTo != null) && (!("".equals(dateTo.trim())))){ if (clauseCount > 0) { whereClause.append(" AND "); } whereClause.append(" RECEIPT_DATE <= :"); whereClause.append(++bindCount); parameters.addElement(Date.valueOf(dateTo)); clauseCount++;}
- OAF中如何更改query的默认查询
- OAF中判断当前事务存在未提交的更改
- 如何更改默认的Client
- WSAD:5版本中如何更改默认的工作区
- Myeclipse中如何更改jsp默认的打开方式
- Myeclipse中如何更改jsp默认的打开方式
- Myeclipse中如何更改jsp默认的打开方式
- Myeclipse中如何更改jsp默认的打开方式
- Myeclipse中如何更改jsp默认的打开方式
- Myeclipse中如何更改jsp默认的打开…
- Myeclipse中如何更改jsp默认的打开方式
- Myeclipse中如何更改jsp默认的打开方式
- Myeclipse中如何更改jsp默认的打开方式
- oracle中如何更改order by的默认排序?
- iOS 如何更改Cell中默认accessoryView的位置
- 如何更改Android studio中SDK,AVD的默认路径
- Tomcat中更改默认端口、更改默认根目录、更改默认页的配置方法
- 如何更改pcAnywhere的默认端口(zz)
- linux 网络编程API(一)
- java.util.ConcurrentModificationException
- hdu Ping pong Ping pong 线段树
- 重新编译EBS R12的JSP页面
- 【VPN解惑】什么是VPN?VPN有什么用?及选择使用vpn
- OAF中如何更改query的默认查询
- java笔记 一些常用类
- Python正则表达式指南
- OAF中如何新开一个窗口
- OAF中实现动态LOV
- Win7+Eclipse+Android+NDK+Cocos2dx
- 深入Solr实战
- 将json对象的值传到form表单里
- OAF中CheckBox性能优化以及在12版开发下的修改