在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组件,并添加到页面中
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));
}
本文转自:http://www.kwstu.com/JAVA/ShowArticle.asp?ArticleID=393