xcelsius消息加载方案

来源:互联网 发布:linux 打包的意思 编辑:程序博客网 时间:2024/05/24 06:33

原文来自http://www.clariba.com/blog/loading-message-solution-for-xcelsius/comment-page-1/#comment-9529,觉得不错译之.

xlf文件:http://www.clariba.com/blog/wp-content/uploads/2010/11/test_v3.zip

在线演示:http://www.clariba.com/blog/wp-content/uploads/2010/11/loading-message_solution.swf.

xcelsius开发中最大的问题莫过于性能问题,性能问题有时可以通过修改连接选项,修改查询,减少xcelsius中的组件个数,或者减少excel中的公式数.尽管如此xcelsius还是会花很长时间加载.事实上,诸如sumif和vlookup这样的公式会花上好几秒钟的时间.既然不能减少等待的时间那就让等待界面更友好点,使用进度条(loading progress)吧!

我创建的是一个加载按钮,当用户点击此按钮时会先显示进度条然后再显示数据,不过这个数据的进度不是真实反应加载进度,可以通过下载xlf文件观察.注意这里的触发点式在excel中完成的而不是通过xcelsius中的控件.

我所使用的组件如下:

>> Combo box1:筛选选择数据并插入到指定目的地中(使用筛选行设定)

>>Combo box2(隐藏在combo box1下面):只有当点击了play按钮的时候combo box2才会发生作用,因为用了filter row的必须是可见的情况下才起作用.刚开始见到这样用combo box2挺奇怪,因为destination映射了两行两列,所以此combo box必须一直选择1才可以显示标题.然后通过combo box1中选择到底是哪一行的数值,然后映射到spreadsheet table中.

>>spreadsheet table:只是显示结果.

>>play control:它控制着combox2和加载消息,选中auto rewind(自动倒带).

>>background:只是为了有真实加载的状态,注意选择block mouse events.

>>text label:相当于提示消息,内容可以任意修改.

>>水平进度条:表明加载进度不过并不是真实进度.

使用control play和进度条来模拟进度真的挺不错,之前就没想过用这样的方法,起码让报表有更好的用户体验,可以尝试在以后的项目中使用.