概述
dorado5大大提高了表格性能,可满足单页超大数据量展示。本例向您展示了dorado5在单次通过DataTable显示2000条记录时的性能表现。由于本页面中包含了2000条的数据的XML信息,整个HTML的内容超过了300K。所以如果您的网速不够快的话,页面弹出的速度仍可能会有点慢。本示例链接如下:
准备工作
新建一工程testperfomance2,无需配置数据源和数据库。
开发步骤
添加Dataset和ViewModel实现
步骤1:添加一Common ViewModel,文件名为TestPerformance2。
步骤2:在该ViemModel的onLoad事件中添加如下代码:
setTimeout("Debugger.show(\"log\", true);", 200);
步骤2:添加该ViewModel的实现,代码如下:
import java.util.Date; import org.apache.commons.lang.RandomStringUtils; import com.bstek.dorado.data.Dataset; import com.bstek.dorado.view.DefaultViewModel; /** * PerformanceViewModel */ public class TestPerformance2ViewModel extends DefaultViewModel { private final static long ONE_YEAR = 365L * 24L * 60L * 60L * 1000L; protected void doLoadData() throws Exception { super.doLoadData(); Dataset dataset1 = getDataset("dataset1"); long now = System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { dataset1.insertRecord(); dataset1.setString("employee_id", String.valueOf(i + 1)); dataset1.setString("employee_name", RandomStringUtils.randomAlphabetic(8)); dataset1.setInt("salary", (int) (Math.random() * 8000) + 2000); dataset1.setBoolean("sex", (Math.random() > 0.5)); dataset1.setBoolean("married", (Math.random() > 0.5)); dataset1.setDate("birthday", new Date(now - (long) (Math.random() * ONE_YEAR * 50L))); dataset1.setString("degree", RandomStringUtils.randomAlphabetic(8)); dataset1.setString("email", RandomStringUtils.randomAlphabetic(8)); dataset1.setString("web", RandomStringUtils.randomAlphabetic(8)); dataset1.setString("cmnt", RandomStringUtils.randomAlphabetic(8)); } dataset1.moveFirst(); } }
步骤3:添加一CustomDataset,id设置为dataset1。
为该Dataset添加如下字段:
Name | DataType |
---|---|
employee_id | string |
employee_name | string |
sex | boolean |
married | boolean |
birthday | date |
salary | double |
degree | string |
string | |
web | string |
cmnt | string |
添加ListDropDown
步骤1:添加一ListDropDown,属性设置如下:
属性 | 值 |
---|---|
id | dropdownSex |
mapValue | true |
autoDropDown | true |
步骤2:为dropdownSex添加2个DropDownItem,第一个字段name为"男",value为"true",第二个字段name为"女",value为"false"。
步骤3:设置dataset1的字段sex的DropDown为dropdownSex。
添加DataTable
步骤1:添加一DataTable,属性设置如下:
属性 | 值 |
---|---|
dataset | dataset1 |
height | 100% |
id | table1 |
width | 100% |
步骤2:选中dataset1,点击字段生成按钮。
创建Jsp页面
生成Jsp页面后,对页面进行编辑,最后结果如下:
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="http://www.bstek.com/dorado" prefix="d" %> <html> <head> </head> <body style="overflow: hidden"> <d:View config="sample.performance.TestPerformance2"> <d:DataTable id="table1" /> </d:View> </body> </html>
查看运行效果
启动服务器后,浏览页面效果如下:
知识点
本示例旨在展示dorado的高性能,未涉及新的知识点。不过若需要制作虚假数据,RandomStringUtils.randomAlphabetic方法是个不错的选择。