利用Poll实现Table自动刷新

六月 30, 2010 in Oracle 融合中间件

概述

在Oracle ADF中有一个非常不起眼的组件,却在应用某些特殊需求时比较有用,例如poll,可以定时让页面或页面中的某些组件刷新,最常用的应该是定时刷新Table中的数据,以满足待办事项或办公管理类的功能。

思路

由于Poll组件可以定期刷新,因此只需要将需要实现定期刷新的组件的Partial Trigger设置成为Poll的ID即可。


实现

1、创建Fusion Application,基于HR Schema中的JOBS表创建EO/VO,生成AM,并添加该VO的实例到AM的Data Model中

2、在ViewController应用中创建新页面,在Data Conrol面板中将步骤1中生成的VO实例拖到页面中,以Table的形式展现

3、适当布局页面,选择poll组件,并添加到页面中

4、设置Table的Partial Trigger为Poll的ID,设置Poll的刷新时间为5000ms,即5秒,并设置PollListener
5、实现pollListener方法,代码如下:

public void pollListener(PollEvent pollEvent) {
FacesContext fctx = FacesContext.getCurrentInstance();
ValueBinding dcb = fctx.getApplication().createValueBinding("#{bindings}");
DCBindingContainer bindings = (DCBindingContainer)dcb.getValue(fctx);
DCIteratorBinding dciter =
bindings.findIteratorBinding("JobsView1Iterator");
Key current_row_key = dciter.getCurrentRow().getKey();
dciter.executeQuery();
dciter.setCurrentRowWithKey(current_row_key.toStringFormat(true));
}

详细代码请查看:howtopoll.rar

相关文章:

  1. 用代码实现页面Action跳转
  2. ADF中使用Popup
  3. 使用clientlistener和serverlistener刷新InlineFrame
  4. 为Backingbean创建基类
  5. ADF中获取服务器名称与端口

1 response to 利用Poll实现Table自动刷新

  1. 11.xu重出江湖了,期待精彩的文章。

Leave a reply

You must be logged in to post a comment.