概述
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节。
Attachments:
worddav80ed15115b3e6db09e15c35343281b9f.png (image/png)
worddav16fd83933ce7762549bc585986927697.png (image/png)
worddavc2e85193d4e42d14664840752ccec3fc.png (image/png)