概述
Dataset提供了很大的灵活性,可以通过VO导入,也可以通过Resultset导入,本节就讲述如何把Result中的数据导入到Dataset 中,并在DataTable中显示出来。本例的示例链接如下:
准备工作
新建一工程resultset,并且配置好数据库,具体步骤参考3.1.2节。
开发步骤
添加Dataset
步骤1:新建一Common ViewModel,文件名为ResultSet。
步骤2:添加一SqlDataset,属性如下:
属性 | 值 |
|---|---|
id | datasetResultset |
pageSize | 10 |
添加DatasetListener
步骤1:选择添加的,然后点击Open Listener,位置如下:

步骤2:弹出对话框,选择是,截图如下:

步骤3:选择方法beforeLoadData方法,如下图所示:

步骤4:编辑DatasetListener代码如下:
import com.bstek.dorado.data.*;
import com.bstek.dorado.common.*;
import java.util.Date;
import com.bstek.dorado.common.*;
import com.bstek.dorado.data.*;
import com.bstek.dorado.view.*;
import com.bstek.dorado.view.data.*;
import com.bstek.dorado.view.control.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.bstek.dorado.data.db.DBDataset;
/**
* ResultSet_datasetResultsetListener
*/
public class ResultSet_datasetResultsetListener extends AbstractDatasetListener {
public boolean beforeLoadData(Dataset dataset) throws Exception {
Transaction transaction = TransactionManager.getTransaction();
Connection connection = transaction.getConnection(null);
try {
Statement st = connection.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM employee");
((DBDataset) dataset).load(rs);
rs.close();
st.close();
} finally {
connection.close();
}
return true;
}
}
添加DataTable和PagePolit
步骤1:添加一DataTable,属性设置如下:
属性 | 值 |
|---|---|
id | tableResultset |
dataset | datasetResultset |
width | 100% |
步骤2:添加一PagePolit,属性设置如下:
属性 | 值 |
|---|---|
id | pagepilotResultset |
dataset | datasetResultset |
创建Jsp页面
生成Jsp页面以后再编辑一下布局,最后结果如下:
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="http://www.bstek.com/dorado" prefix="d" %> <html> <head> <title></title> </head> <body> <d:View config="ResultSet"> <d:PagePilot id="pagepilotResultset" /> <d:DataTable id="tableResultset" /> </d:View> </body> </html>
查看运行效果
启动服务器后,浏览效果如下:

知识点
本章节的知识点主要是DatasetListener的原理以及使用。DatasetListener主要用于对Dataset事件的监听并作出相应的相应,比如LoadData、CreateFields、UpdateData等事件。关于DatasetListener,可以参考《Dorado 5 用户指南 v1.1》的5.13节。