xsl:sort 动态排序,急!急!在线等!!!

wis2007 2008-06-25 09:58:30
aa.xml
 <?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="aa.xsl"?>
<DIPS DATE="2008年06月20日" VERSION="1.0">
<USER_INFO>
<ID>SHENHE</ID>
<NAME>SHENHE</NAME>
<TYPE>1</TYPE>
<SEX>1</SEX>
<BIRTH>1977年01月01日</BIRTH>
<PHONE>010-62144136</PHONE>
<EMAIL>quick@bj163.com</EMAIL>
<CREATE_DATE>2008年06月16日</CREATE_DATE>
</USER_INFO>
<SEARCH_INFO>
<CMD></CMD>
<PAGE_NO>0</PAGE_NO>
<PAGE_COUNT>20</PAGE_COUNT>
<RECORD_COUNT>6</RECORD_COUNT>
</SEARCH_INFO>
</DIPS>



aa.xsl
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output method="html" encoding="GB2312" />
<xsl:template match="/">

<html>
<head>
<script language="JavaScript1.2" type="text/JavaScript"></script>
<script language="javascript">

<![CDATA[

function DBsort(DBtitle,DBorder)
{
var titleName = document.XSLDocument.selectSingleNode("//xsl:sort/@select");
var isOrder= document.XSLDocument.selectSingleNode("//xsl:sort/@order");

titleName.value=DBtitle;
isOrder.value=DBorder;

var xmldoc = document.XMLDocument.selectSingleNode("DIPS");
var xsldoc = document.XSLDocument.selectSingleNode("xsl:stylesheet");

divItems.innerHTML = xmldoc.transformNode(xsldoc);
//alert(divItems.innerHTML);
}



]]></script>
</head>
<body>

<TABLE id="DatabaseListTab" cellSpacing="0" cellPadding="0" border="1">
<TR>
<TD style="WIDTH: 50px">标识
<xsl:element name="img">
<xsl:attribute name="src">submit.jpg</xsl:attribute>
<xsl:attribute name="onclick">DBsort('ID','ascending')</xsl:attribute>
</xsl:element>
</TD>
<TD style="WIDTH: 50px">姓名</TD>
<TD style="WIDTH: 25px">性别</TD>
<TD style="WIDTH: 80px">出生日期</TD>
<TD style="WIDTH: 50px">E-Mail</TD>
<TD style="WIDTH: 80px">联系电话</TD>
<TD style="WIDTH: 100px">创建时间</TD>
<TD style="WIDTH: 50px">类型</TD>

</TR>
<div id="divItems">
<xsl:apply-templates select="DIPS/USER_INFO">
<xsl:sort select="CREATE_DATE" order="ascending"/>
</xsl:apply-templates>
</div>
</TABLE>

</body>
</html>
</xsl:template>

<xsl:template match="USER_INFO">
<TR>
<TD>
<INPUT name="UserID" type="checkbox" value="1">
<xsl:attribute name="value"><xsl:value-of select="./ID" /></xsl:attribute>
</INPUT>
<xsl:value-of select="./ID" /></TD>
<TD><xsl:value-of select="./NAME" /></TD>
<TD><xsl:value-of select="./SEX" /></TD>
<TD><xsl:value-of select="./BIRTH" /></TD>
<TD><xsl:value-of select="./EMAIL" /></TD>
<TD><xsl:value-of select="./PHONE" /></TD>
<TD><xsl:value-of select="./CREATE_DATE" /></TD>
<TD><xsl:value-of select="./TYPE" /></TD>
</TR>

</xsl:template>
</xsl:stylesheet>
全中国很少会这个的,有谁会帮帮忙吧,就是不能排序!!!!英雄来啊
...全文
270 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaojing7 2008-06-25
  • 打赏
  • 举报
回复
给你个例子



<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="XSLTSort.xslt"?>
<employees>
<employee>
<last>Stone </last>
<first>Phil </first>
<salary>10000 </salary>
</employee>
<employee>
<last>Herbert </last>
<first>Johnny </first>
<salary>95000 </salary>
</employee>
<employee>
<last>Henny </last>
<first>Graham </first>
<salary>89000 </salary>
</employee>
<employee>
<last>wei </last>
<first>William </first>
<salary>79000 </salary>
</employee>
</employees>


<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="employees">
<html>
<head>
<title>Hello </title>
<script language="javascript">
function sort(field)
{
var stylesheet=document.XSLDocument;
var xmlDoc=document.XMLDocument;
var sortField=stylesheet.selectSingleNode("//xsl:sort/@select");
sortField.value=field;
var sortOrder=stylesheet.selectSingleNode("//xsl:sort/@order");
if(sortOrder.value=="descending")
{
sortOrder.value="ascending";
}
else
{
sortOrder.value="descending";
}
document.getElementById("showdata").innerHTML=xmlDoc.documentElement.transformNode(stylesheet);
}
</script>
</head>
<body>
<!--
This is an XSLT template file. Fill in this area with the
XSL elements which will transform your XML to XHTML.
-->
<div id="showdata">
<table border="2">
<tr style="background-color:#c0c0c0;cursor:hand">
<td onclick="sort('first')">last </td>
<td onclick="sort('first')">first </td>
<td onclick="sort('salary')">salary </td>
</tr>
<xsl:for-each select="employee">
<xsl:sort select="first" order="ascending"/>
<tr>
<td>
<xsl:value-of select="last"/>
</td>
<td>
<xsl:value-of select="first"/>
</td>
<td>
<xsl:value-of select="salary"/>
</td>
</tr>
</xsl:for-each>
</table>
</div>
<div id="newdata">

</div>
</body>
</html>
</xsl:template>
<xsl:template match="employee">
Last: <xsl:apply-templates select="last"/>
First: <xsl:apply-templates select="first"/>
Salary: <xsl:apply-templates select="salary"/>
</xsl:template>
</xsl:stylesheet>
wis2007 2008-06-25
  • 打赏
  • 举报
回复
都是菜鸟啊,那我怎么解决问题呢
难道这个问题解决不了不成?!!!我才不怕他们呢,没时间理那些灌水的。等待高手!!!
xinheixia 2008-06-25
  • 打赏
  • 举报
回复
来错地方了
上次我在这儿发了一个技术贴
他们的回答是:
这儿全是灌水的

上次差点没把我淹死

呼呼~
Wall_E 2008-06-25
  • 打赏
  • 举报
回复
呼叫清洁工
  • 打赏
  • 举报
回复
小妹别急。。。等清洁工哥哥来。。
wis2007 2008-06-25
  • 打赏
  • 举报
回复

大哥哥们,有谁会,有谁知道这方面的人才,都通通的显身手吧。呜!!!小妹等!!!
  • 打赏
  • 举报
回复
呼叫全中国很少会这个的人
aSpace 2008-06-25
  • 打赏
  • 举报
回复
呼叫清洁工
  • 打赏
  • 举报
回复
oo
xiaojing7 2008-06-25
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output method="html" encoding="GB2312" />
<xsl:template match="DIPS">
<html>
<head>
<script language="JavaScript1.2" type="text/JavaScript">
function sort(field)
{
var stylesheet=document.XSLDocument;
var xmlDoc=document.XMLDocument;
var sortField=stylesheet.selectSingleNode("//xsl:sort/@select");
sortField.value=field;
var sortOrder=stylesheet.selectSingleNode("//xsl:sort/@order");
if(sortOrder.value=="descending")
{
sortOrder.value="ascending";
}
else
{
sortOrder.value="descending";
}
document.getElementById("showdata").innerHTML=xmlDoc.documentElement.transformNode(stylesheet);
}
</script>
</head>
<body>
<div id="showdata">
<TABLE id="DatabaseListTab" cellSpacing="0" cellPadding="0" border="1">
<TR>
<TD style="WIDTH: 50px">
标识<xsl:element name="img"><xsl:attribute name="src">submit.jpg</xsl:attribute>
<xsl:attribute name="onclick">sort('ID')</xsl:attribute></xsl:element>
</TD>
<TD style="WIDTH: 50px">姓名</TD>
<TD style="WIDTH: 25px">性别</TD>
<TD style="WIDTH: 80px">出生日期</TD>
<TD style="WIDTH: 50px">E-Mail</TD>
<TD style="WIDTH: 80px">联系电话</TD>
<TD style="WIDTH: 100px">创建时间</TD>
<TD style="WIDTH: 50px">类型</TD>
</TR>
<xsl:for-each select="USER_INFO">
<xsl:sort select="ID" order="ascending"/>
<TR>
<TD>
<INPUT name="UserID" type="checkbox" value="1">
<xsl:attribute name="value"><xsl:value-of select="./ID" /></xsl:attribute>
</INPUT><xsl:value-of select="./ID" />
</TD>
<TD><xsl:value-of select="./NAME" /></TD>
<TD><xsl:value-of select="./SEX" /></TD>
<TD><xsl:value-of select="./BIRTH" /></TD>
<TD><xsl:value-of select="./EMAIL" /></TD>
<TD><xsl:value-of select="./PHONE" /></TD>
<TD><xsl:value-of select="./CREATE_DATE" /></TD>
<TD><xsl:value-of select="./TYPE" /></TD>
</TR>
</xsl:for-each>
</TABLE>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>


修该了下,你测试下!

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧