如何在ADF中处理需要长时间运行的SQL QUERY。

示例代码:点击打开链接

在某些场景下,用户在页面上按一个按钮后会触发一个长时间运行的SQL QUERY。用户可能由于缺乏提示而以为页面失效,在这种情况下可以考虑在页面中加入一段javascript来判断当前页面是否还在运行中,并显示一个运行中的图标来提示用户query还未结束需要等待。

如下图:


实现方式:

Javascript:

<af:resource type="javascript">
        function enforcePreventUserInput(evt) {
            var popup = AdfPage.PAGE.findComponentByAbsoluteId('p1');
            if (popup != null) {
                AdfPage.PAGE.addBusyStateListener(popup, handleBusyState);
                evt.preventUserInput();
            }
        }

        function handleBusyState(evt) {
            var popup = AdfPage.PAGE.findComponentByAbsoluteId('p1');
            if (popup != null) {
                if (evt.isBusy()) {
                    popup.show();
                }
                else {
                    popup.hide();
                    AdfPage.PAGE.removeBusyStateListener(popup, handleBusyState);
                }
            }
        }
      </af:resource>



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值