2010年4月10日星期六

ADF_063:使用ADF-BC 实现查询功能之三:如何在页面装载时自动执行查询?

开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。

接着上一个Project,有时我们想在界面上直接显示查询结果,查询条件是通过程序设置的,不要人工输入。
这时,我们需要手工增加Binding关系。

重点步骤说明:
1. 新建一个页面:adf_query_executeWithParams2.jsf
从Data Control面板中直接拖放EmployeeView1生成Table。

2. 切换到Bindings Tab
(1)在Bindings中,手工增加一个action

选择EmployeeView1中的ExecuteWithParams,并设置参数值。
这里直接给了参数值:S%,当然也可以从别的地方传过来。

(2)在Executables中,手工增加一个invokeAction
在Executables中的对象,在该页面被Load的时候执行。

给一个id名称:InvokeExecuteWithParams,Binds到ExecuteWithParams。

还有一个关键的地方要修改:双击InvokeExecuteWithParams,弹出属性界面。
默认的Refresh:deferred.

将其改成ifNeeded。

3. 运行页面
显示的全部是以S开头的Employee。


除了动态设置查询条件,本文所介绍的技巧具有一定的普遍意义,只要你想在页面Load时调用某个方法,都可以使用本文介绍的技巧。

Project 下载: ADF_Query_ExecuteWithParams(2).7z

参考文献:
1. http://vtkrishn.wordpress.com/2010/03/28/how-to-invoke-method-before-the-page-loads-in-adf/

1 条评论:

Unknown 说...

学习了!谢谢!