利用Poll实现Table自动刷新并设置当前行

概述

在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));
    }

 

本文转自:http://www.kwstu.com/JAVA/ShowArticle.asp?ArticleID=393

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值