代码下载
文章概要:
- 相关概念;
- recordset的使用;
- 使用XML数据岛和XSLT转换输出样式;
一、几个简单的概念:
- DSO(Data Source Object):XML DSO就是一个Microsoft ActiveX控件,嵌入到Microsoft Internet Explorer中;
- XML数据岛:<XML>和 </XML>标签之间绑定的XML数据称为XML数据岛;
二、DSO将所有的记录存储在recordset对象中,而recordset对象的属性和方法可以用于做操作记录。下面的实例感觉起来和DetalsView类似:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<script type ="text/javascript" >
function previor()
{
if(!mybook.recordset.bof)
{
mybook.recordset.moveprevious();
if(mybook .recordset.bof)
{
mybook.recordset.movefirst();
alert("已经到达第一条记录");
}
}
}
function next()
{
if(!mybook.recordset.eof)
{
mybook.recordset.movenext();
if(mybook.recordset.eof)
{
mybook.recordset.movelast();
alert ("这是最后一条记录");
}
}
}
</script>
</head>
<body>
<xml src="books.xml" id="mybook"></xml>
<table border="1">
<tr>
<td>书名</td>
<td>作者</td>
<td>价格</td>
</tr>
<tr>
<td><div datasrc="#mybook" datafld="title" ></div></td>
<td><div datasrc="#mybook" datafld="authorname"></div></td>
<td> <div datasrc="#mybook" datafld="price"></div></td>
</tr>
</table>
<input type ="button" value="首条" onclick ="mybook.recordset.movefirst()"/>
<input type="button" value="下一个" onclick ="next()"/>
<input type ="button" value="上一个" onclick ="previor()" />
<input type ="button" value="末条" οnclick="mybook.recordset.movelast()" />
</body>
</html>
还有和Gridview类似实现:
<xml src="books.xml" id="mybook"></xml>
<table datasrc="#mybook" border ="1">
<thead>
<tr>
<td > 书名</td>
<td >作者</td>
<td >价格</td>
</tr>
</thead>
<tr >
<td ><div datafld="title"></div></td
><td ><div datafld="authorname"></div></td>
<td ><div datafld="price"></div></td>
</tr>
</table>
首先需要两个XML数据岛
<xml src="books.xml" id="mybook"></xml>
<xml src="XSLTFile.xslt" id="stylesheet"></xml>
var xmlDso = mybook.XMLDocument;
var xslDso = stylesheet.XMLDocument;
divResults.innerHTML = xmlDso.transformNode(xslDso);
哲学
马克思
100
计算机科学与技术
比尔盖茨
200
.net
蜡笔小新
150