+ -
当前位置:首页 → 问答吧 → 数据岛的问题

数据岛的问题

时间:2004-04-01

来源:互联网

<xml id="users">
<userGroup>
  <user>
    <userid>user 1</userid>
    <name>name 1</name>
  </user>
  <user>
    <userid>user 2</userid>
    <name>name 2</name>
  </user>
  <user>
    <userid>user 3</userid>
    <name>name 3</name>
  </user>
  <user>
    <userid>user 4</userid>
    <name>name 4</name>
  </user>
  <user>
    <userid>user 5</userid>
    <name>name 5</name>
  </user>
  <user>
    <userid>user 6</userid>
    <name>name 7</name>
  </user>
  <user>
    <userid>user 7</userid>
    <name>name 7</name>
  </user>
  <user>
    <userid>user 8</userid>
    <name>name 8</name>
  </user>
  <user>
    <userid>user 9</userid>
    <name>name 9</name>
  </user>
</userGroup>
</xml>
<table id="datatable" datasrc="#users" DATAPAGESIZE="3" width="400" border="1">
<tr>
    <td><span datafld="userid"></span></td>
    <td><span datafld="name"></span></td>
</tr>
</table>
<button onclick="document.all.datatable.previousPage()">Previous Page</button>
<button onclick="document.all.datatable.nextPage()">Next Page</button>

这个大家都看过,但是不知道可不可以排序,或者有没有排序的属性或脚本,我好像看过一个Sortcolumn这个属性,是不是可以用??

作者: 唐人   发布时间: 2004-04-01

不能,利用 XSLT 是可以排序的,但需要建立相应的 XSLT 转换文件

作者: bencalie   发布时间: 2004-04-30

呵呵,原来利用 XML DOM 也可以实现排序的,下面代码我是在 MSXML 4 基础上写的
<xml id="users"> <userGroup> <user> <userid>user 1</userid> <name>name 1</name> </user> <user> <userid>user 2</userid> <name>name 2</name> </user> <user> <userid>user 3</userid> <name>name 3</name> </user> <user> <userid>user 4</userid> <name>name 4</name> </user> <user> <userid>user 5</userid> <name>name 5</name> </user> <user> <userid>user 6</userid> <name>name 6</name> </user> <user> <userid>user 7</userid> <name>name 7</name> </user> <user> <userid>user 8</userid> <name>name 8</name> </user> <user> <userid>user 9</userid> <name>name 9</name> </user> </userGroup> </xml> <table id="datatable" datasrc="#users" DATAPAGESIZE="3" width="400" border="1"> <tr> <td><span datafld="userid"></span></td> <td><span datafld="name"></span></td> </tr> </table> <button onclick="document.all.datatable.previousPage()">Previous Page</button> <button onclick="document.all.datatable.nextPage()">Next Page</button><br><br> <button onclick="Descsort()">倒序</button> <script> function Descsort(){ var xmlContent = users.innerHTML; var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); var root; xmlDoc.async = false; xmlDoc.loadXML(xmlContent); root = xmlDoc.documentElement; var len = Math.round(root.childNodes.length); var arr = new Array(); for(i=0;i<len;i++){ arr[i] = root.childNodes[len-i-1].cloneNode(true); } for(i=0;i<len;i++){ root.replaceChild(arr[i],root.childNodes[i]); } users.outerHTML = "<xml id='users'>"+root.xml+"</xml>"; datatable.refresh(); } </script>
   提示:您可以先修改部分代码再运行

作者: bencalie   发布时间: 2004-04-30

没几个浏览器认识阿
比如我

作者: zxwboy   发布时间: 2004-05-12

其实多数我使用的方法在以前版本的 MSXML 也是支持的,鉴于的机器是这个,我就这样写了,可以改以前版本试试,但我机器上没有

作者: bencalie   发布时间: 2004-05-12

你的几起真好啊
前一段我用了msxml4结果被老大批了
呵呵呵
我的妈呀
不果我觉得出了一写特殊的ms的内置方法之外好像也没有太大的区别了呵呵
小弟只是感叹一下
在此表示羡慕

作者: zxwboy   发布时间: 2004-05-12