找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 8168|回复: 1

[学习] NC65(NCC重量端),如何显示进度条,并可取消。

[复制链接]
发表于 2021-7-14 09:58:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
前台按钮的动作中:

                ShowStatusBarMsgUtil.showStatusBarMsg("开始获取....",this.getModel().getContext());
               
                final IPcmemoMaintain service= NCLocator.getInstance().lookup(IPcmemoMaintain.class);
                final List<PcmemoBVO> groupMemoBVO = service.queryToAppend(this.getDataManager().getSqlWhere());
                if (groupMemoBVO==null || groupMemoBVO.size()==0){
                        ShowStatusBarMsgUtil.showStatusBarMsg("没有找到需要获取的数据",this.getModel().getContext());
                }else{
                       
                        new Thread(){
                                @Override
                                public void run() {
                                       
                                        IProgressMonitor monitor = NCProgresses.createDialogProgressMonitor(null);
                                       
                                        int index=0,total=groupMemoBVO.size();
                                       
                                        //显示进度条
                                        monitor.beginTask("正在获取数据....", total);
                                       
                                        for (PcmemoBVO groupVo:groupMemoBVO){
                                                //用户点了取消
                                                if (monitor.isCanceled()){
                                                        break;
                                                }
                                               
                                               
                                                index++;
                                                try {
                                                        //逐条处理,一般独立事务
                                                        Object[] result= service.fetchFromIcflow__RequiresNew(groupVo.getPk_org(),groupVo.getCwarehouseid(),groupVo.getCmaterialoid(),groupVo.getPk_batchcode());
                                                        if (result==null || result.length==0){
                                                                monitor.setProcessInfo("执行获取"+(index)+"/"+total+",处理0条" );
                                                        }else{
                                                                monitor.setProcessInfo("执行获取"+(index)+"/"+total+",处理"+result.length+"条");
                                                        }
                                                } catch (BusinessException e) {
                                                        e.printStackTrace();
                                                }

                                                monitor.worked(1);    //进度条会自动计算百分比
                                        }
                                        monitor.done();        //执行完成,进度条关闭
                                        ShowStatusBarMsgUtil.showStatusBarMsg("获取完成",getModel().getContext());
                                }
                        }.start();

                       
                }

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-4-18 23:24 , Processed in 0.042340 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表