这段代码如何按照金额来排序?
一共两个文件:xml.html 和 style.xsl
问题:
按照金额的排序的时候是按照字符来排,而不是按照数字大小来排,如何解决?
xml.html内容如下
-------------------------------------------
<STYLE>
.header {font:bold 9pt Verdana; cursor:hand; padding:2px; border:solid #CCC;border-width:0px 0px 5px 0px;}
.button {font:9pt; BACKGROUND-COLOR: #FFF;border-width:0px;cursor:hand;}
td{border:solid #CCC;border-width:0px 0px 1px 0px;height:28px;font-size:12px; /** 边框 **/}
th{text-align:left;}
</STYLE>
<script language="vbscript">
Dim pageshowno '页号显示
Dim pageno '总页数
Dim sortvalue '排序的依据
sub sortby(whichFld)
if whichFld<>"" then
'正反排序字段赋值
if sortvalue = "" Then sortvalue=whichFld
if sortvalue = whichFld Then whichFld="-"&whichFld
sortvalue=whichFld
'对不同字段进行排序
set stylesheet = CreateObject("Microsoft.XMLDom")
stylesheet.async = false
stylesheet.load "style.xsl"
set sortNode = stylesheet.selectSingleNode("//@order-by")
sortNode.value = whichFld
set oldXMLDoc = xmldso
set newXMLDoc = CreateObject("Microsoft.XMLDom")
oldXMLDoc.transformNodeToObject stylesheet,newXMLDoc
xmldso.load newXMLDoc
END if
end sub
Function window_onload()
set stylesheet = CreateObject("Microsoft.XMLDom")
stylesheet.async = false
stylesheet.load "style.xsl"
set oldXMLDoc = xmldso
set newXMLDoc = CreateObject("Microsoft.XMLDom")
oldXMLDoc.transformNodeToObject stylesheet,newXMLDoc
xmldso.load newXMLDoc
pageshowno=1
' 显示设定的记录数
count = xmldso.recordset.RecordCount
pageno=CInt(count/Xmltable.dataPageSize)
Modresult=count Mod Xmltable.dataPageSize
if ((Modresult > 0) And (count > Xmltable.dataPageSize)) Then pageno=pageno+1
divCount.innerText = " 共有 "&pageno&" 页 "&count&" 条记录 "
pageShow.innerText = "第"&pageshowno&"页"
END Function
sub btnFirst_onclick()
Xmltable.FirstPage
count = xmldso.recordset.RecordCount
pageshowno=1
pageShow.innerText = "第"&pageshowno&"页"
window.scroll 0,0
end sub
sub btnPrevious_onclick()
xmltable.PreviousPage
pageshowno=pageshowno-1
if (pageshowno <=1) Then pageshowno=1
pageShow.innerText = "第"&pageshowno&"页"
window.scroll 0,0
end sub
sub btnNext_onclick()
xmltable.NextPage
pageshowno=pageshowno+1
if (pageshowno >= pageno) Then pageshowno=pageno
pageShow.innerText = "第"&pageshowno&"页"
window.scroll 0,0
end sub
sub btnLast_onclick()
xmltable.LastPage
pageshowno=pageno
pageShow.innerText = "第"&pageshowno&"页"
window.scroll 0,0
end sub
sub PageSizeChange()
count = xmldso.recordset.RecordCount
pageno=CInt(count/Xmltable.dataPageSize)
Modresult=count Mod Xmltable.dataPageSize
if ((Modresult > 0) And (count > Xmltable.dataPageSize)) Then pageno=pageno+1
divCount.innerText = " 共有 "&pageno&" 页 "&count&" 条记录 "
end sub
</script>
<BODY bgColor=#ffffff leftMargin=20 rightMargin=25>
<xml id="xmldso" >
<passengerlist xmlns:dt="urn:schemas-microsoft-com:datatypes" xml:space="preserve">
<passenger>
<p1>20060117010460</p1>
<p2> 成功</p2>
<p3>1</p3>
<p4> 2006-1-17</p4>
<p6> 82.2.233.15</p6>
<p10>successfully </p10>
</passenger>
<passenger>
<p1>20060117029780</p1>
<p2> 成功</p2>
<p3>2</p3>
<p4> 2006-1-17</p4>
<p6> 222.33.0.117</p6>
<p10>successfully </p10>
</passenger>
<passenger>
<p1>20060117394759</p1>
<p2> 成功</p2>
<p3>3</p3>
<p4> 2006-1-17</p4>
<p6> 218.83.110.45</p6>
<p10>successfully </p10>
</passenger>
<passenger>
<p1>20060117029769</p1>
<p2> 成功</p2>
<p3>4</p3>
<p4> 2006-1-17</p4>
<p6> 222.33.0.117</p6>
<p10>successfully </p10>
</passenger>
<passenger>
<p1>20060117102520</p1>
<p2> 成功</p2>
<p3>40</p3>
<p4> 2006-1-17</p4>
<p6> 221.224.54.198</p6>
<p10>successfully </p10>
</passenger>
<passenger>
<p1>20060117000465</p1>
<p2> 成功</p2>
<p3>5</p3>
<p4> 2006-1-17</p4>
<p6> 220.228.149.46</p6>
<p10> successfully </p10>
</passenger>
<passenger>
<p1>20060117394758</p1>
<p2> 未成功</p2>
<p3>6</p3>
<p4> 2006-1-17</p4>
<p6> 60.198.29.23</p6>
<p10>successfully </p10>
</passenger>
<passenger>
<p1>20060117022028</p1>
<p2> 成功</p2>
<p3>7</p3>
<p4> 2006-1-17</p4>
<p6> 138.243.201.10</p6>
<p10>successfully </p10>
</passenger>
</passengerlist>
</xml>
<table width="100%" bgcolor="#ffffff" datasrc="#xmldso" align=center datapagesize=8 id=Xmltable cellSpacing=0 cellPadding=0>
<thead>
<tr>
<th><DIV class="header" onClick="sortby('p1')">订单号</div></th>
<th><DIV class="header" onClick="sortby('p2')">情况</div></th>
<th><DIV class="header" onClick="sortby('p3')">金额</div></th>
<th><DIV class="header" onClick="sortby('p4')">访问日期</div></th>
<th><DIV class="header" onClick="sortby('p6')">IP</div></th>
<th><DIV class="header" onClick="sortby('p10')">附加信息</div></th>
</tr>
</thead>
<tbody>
<tr onmouseover='javascript:this.style.backgroundColor="#CCC"' onmouseout='javascript:this.style.backgroundColor=""'>
<td><span datafld="p1"></span></td>
<td><span datafld="p2"></span></td>
<td><span datafld="p3"></span></td>
<td><span datafld="p4"></span></td>
<td><span datafld="p6"></span></td>
<td><span datafld="p10"></span></td>
</tr>
</tbody>
</table>
<table width="100%" bgcolor="#ffffff" align="center" cellSpacing=0 cellPadding=0>
<tr><td colspan="10">
<input type=button class="button" id=btnFirst value="首页" >
<input type=button class="button" id=btnPrevious value="上页" >
<input type=button class="button" id=btnNext value="下页">
<input type=button class="button" id=btnLast value="末页" > <span id=pageShow></span> <span id=divCount></span>
</td></tr>
</table>
style.xsl内容如下
-------------------------------------------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xml:space="preserve">
<xsl:template match="/">
<passengerlist>
<xsl:apply-templates select="//passenger" data-type="number" order-by="p3" />
</passengerlist>
</xsl:template>
<xsl:template match="passenger">
<passenger>
<p1><xsl:value-of select="p1" /></p1>
<p2><xsl:value-of select="p2" /></p2>
<p3><xsl:value-of select="p3" /></p3>
<p4><xsl:value-of select="p4" /></p4>
<p6><xsl:value-of select="p6" /></p6>
<p7><xsl:value-of select="p7" /></p7>
<p9><xsl:value-of select="p9" /></p9>
<p10><xsl:value-of select="p10" /></p10>
</passenger>
</xsl:template>
</xsl:stylesheet>
问题:
按照金额的排序的时候是按照字符来排,而不是按照数字大小来排,如何解决?