本节将继续上节教程的内容,完善查询功能模块。主要将从以下几个方面进行介绍:
完善查询页面、添加CO、实现根据查询条件过滤数据等等,基本完成一个简单的查询功能的开发。
添加结果列表
选中查询界面的query节点,鼠标右键选择 NEW—》Region Using Wizard
a.选择VO,此处就是之前在AM中注册的VO信息,用于页面绑定数据之用,此处选择VO1即可:
b.设置新建的Region的Id及类型信息,此处设置Id为resultRN ,类型为table:
c.选择结果列表需要显示的字段,根据需要实际选择就可以了,此处全选:
备注:此处的table中的字段的style类型默认是messageTextInput,即输入框,一般结果列表使用的是messageStyleText,只读文本(这些属性后期还可以在程序文件的属性窗口中进行修改)。
到此步骤,就基本完成了结果列表组件的创建工作,点击“完成”按钮即可完成该查询结果列表的创建工作:
运行查询页面
添加完成查询结果列表之后便可以运行查询页面看看实际的运行效果:
可以看到查询页面已经不再报错,而是正常展示了,没有结果是因为还没有处理对应的查询事件
可以看到此处还有一个问题,就是查询条件中没有查询按钮,这是由于query组件中某个属性的原因,修改下就可以了。
展示查询按钮
选中query节点,修改其Construction Mode属性为“autoCustomizationCriteria”:
可以看到查询按钮已经出来了,直接点击“go”按钮,即可进行查询操作,此时的查询默认是的初始化VO的查询,不过滤任何数据:
表格宽度不够,可以修改表格宽度为“100%”后,再次运行查询页面:
可以看到修改表格的属性之后再次运行页面进行查询,查询页面就会正常展示了:
方式
OAF中一般处理查询条件常用的有两种方式:
A.通过配置查询组件中的查询条件和结果列表的Mapping映射关系,来实现根据查询条件过滤数据的问题;
B.通过编写代码,捕获查询按钮事件,获取查询条件参数信息,拼接VO需要使用的WHERE条件来实现根据查询条件过滤数据的问题
类型\优缺点 |
优点 |
缺点 |
配置Mapping |
无需编码,简单配置 |
查询条件映射的列必须在结果列表中; 日期字段不好处理 |
编写代码 |
需要编码,使用更灵活; 无字段类型及位置限制 |
需要根据需求编写对应的逻辑处理代码,增大工作量 |
本节教程使用第一种方式即可,至于编码的方式,后续其他教程中会涉及到,此处不再敖述了。
配置Mapping
选中查询节点,选择 NEW—》simpleSearchMapping,进行Mapping的创建:
之后会生成一个Mapping对应的组件:
选中“queryCriteriaMap1”,其中有几个属性需要注意:
Search属性节点中的Search Item和Results Item这两个属性,从名称就可以看出区别:
SearchItem:是配置查询条件的
本节教程中需要配置查询条件员工姓名和结果列表中的员工姓名列进行对应:
至此就可以完成了查询条件和结果列表的映射关系的配置,可以运行查询页面,测试效果。
运行测试
再次运行查询页面,在查询条件中输入一个员工名称后再次执行查询,看看是否会按照输入的查询条件进行数据过滤:
可以看到此时只有满足条件的数据会展示出来,即实现了根据查询条件过滤数据的功能。
到此,一个简单的查询功能基本完成,后续教程将会在此基础上继续进行。
附录
a. 本系列教程为个人原创,基于实际工作中的使用情况及个人理解,以及参考Jdeveloper开发工具自带的参考文档所得,仅供学习交流之用,有不足之处还望批评指正,希望共同提高
b. 本系列教程的EBS及软件平台环境信息如下:
EBS版本:12.1
数据库:Oracle Database 11g
Jdeveloper:Oracle Jdeveloper10g
c. 参考文档:D:\EBSTools\jdevelopment\jdevdoc(工具自带)