[XML+Asp] Comment faire un tri numérique sur un tableau ?

Comment faire un tri numérique sur un tableau ? [XML+Asp] - XML/XSL - Programmation

Marsh Posté le 29-07-2003 à 15:19:38    

j'ai essayé plusieurs méthodes mais sans succès
 
Voici mon fichier xsl :  

Code :
  1. <?xml version="1.0" ?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  3. <xsl:template>
  4. <admin>
  5. <xsl:for-each select="//row" order-by="lb_utilisateur">
  6.  <xsl:copy>
  7.   <xsl:for-each select="nbconnexion">
  8.    <xsl:copy>
  9.     <xsl:value-of/>
  10.    </xsl:copy>
  11.   </xsl:for-each>
  12.   <xsl:for-each select="log_login">
  13.    <xsl:copy>
  14.     <xsl:value-of/>
  15.    </xsl:copy>
  16.   </xsl:for-each>
  17.   <xsl:for-each select="dates">
  18.    <xsl:copy>
  19.     <xsl:value-of/>
  20.    </xsl:copy>
  21.   </xsl:for-each>
  22.  </xsl:copy>
  23. </xsl:for-each>
  24. </admin>
  25. </xsl:template>
  26. </xsl:stylesheet>


 
 
et ma page ASP
 

Code :
  1. If (xmldoc.childNodes.length = 0) Then
  2.   ' Build the XML document
  3.   Set root = xmldoc.createNode("element", "admin", "" )
  4.       
  5.   xmldoc.appendChild (root)
  6.   ' Queries the database for customer data
  7.   Set objRs = Server.CreateObject("ADODB.RecordSet" )
  8.   objRs.Open SQL, objConn
  9.    
  10.   If not objRs.eof Or Not objRs.bof Then
  11.   objRs.MoveFirst
  12.   End if
  13.    
  14.   'Loop through the recordset
  15.   Do While Not objRs.EOF
  16.      
  17.   Set onode = xmldoc.createNode("element", "row", "" )
  18.   xmldoc.documentElement.appendChild (onode)
  19.   
  20.   Set inode = xmldoc.createNode("element", "nbconnexion", "" )
  21.   inode.Text = formatNumber(objRs.fields(0),0)
  22.   onode.appendChild (inode)
  23.   Set child = xmldoc.createNode("element", "log_login", "" )
  24.   child.Text = objRs.fields(1)
  25.   onode.appendChild (child)
  26.      
  27.    
  28.   Set child = xmldoc.createNode("element", "dates", "" )
  29.   If objRs.fields(2) <> "" Then
  30.    child.Text = FormatDateTime(objRs.fields(2), 0)
  31.    onode.appendChild (child)
  32.   Else
  33.    child.Text = ""
  34.    onode.appendChild (child)
  35.   end If
  36.  objRs.movenext
  37.  Loop
  38.  objRs.close
  39.  Set objRs = Nothing
  40.      
  41.  End If
  42.  xmldoc.save server.mappath("flux.xml" )
  43. %>
  44. <SCRIPT LANGUAGE=javascript for=window event=onload()>
  45. doc.XMLDocument.async = 0;
  46. doc.XMLDocument.load("flux.xml" );
  47. fds.XMLDocument.async = 0;
  48. fds.XMLDocument.load("tri-last.xsl" );
  49. doc.XMlDocument.preserveWhiteSpace = 0;
  50. doc.XMlDocument.loadXML(doc.XMLDocument.transformNode(fds.XMLDocument));
  51. </SCRIPT>
  52. <SCRIPT LANGUAGE=javascript>
  53. <!--
  54. function tri(champ) {
  55. fds.XMLDocument.selectSingleNode("//@order-by" ).nodeValue = champ;  
  56. doc.XMlDocument.loadXML(doc.XMLDocument.transformNode(fds.XMLDocument));
  57. }
  58. //-->
  59. </SCRIPT>
  60. <BODY>
  61. <DIV>
  62. <TABLE align="center" DataSrc="#doc" STYLE="font:8pt Verdana; color:#000000; text=#000000" BORDER="1" WIDTH="80%" borderColor="black" cellPadding="0" cellSpacing="0" valign="TOP">
  63. <THEAD><TR bgColor="#cccccc" borderColorDark="#fcfcfc" borderColorLight="#999999">
  64. <TD onclick="tri('nbconnexion')" class="tete" align="center">Nombre de connexions</TD>
  65. <TD onclick="tri('log_login')" class="tete" align="center">login windows</TD>
  66. <TD onclick="tri('dates')" class="tete" align="center">Dernière connexion</TD>
  67. </TR></THEAD>
  68. <TBODY>
  69. <TR bgColor="#f0f0f0" borderColorDark="#fcfcfc" borderColorLight="#cccccc">
  70. <TD align="center"><span datafld="nbconnexion"></span></TD>
  71. <TD align="center"><span datafld="log_login"></span></TD>
  72. <TD align="center"><span datafld="dates"></span></TD>
  73. </TR>


 
Est ce que quelqu'un a une idée ?  :(  

Reply

Marsh Posté le 29-07-2003 à 15:19:38   

Reply

Marsh Posté le 29-07-2003 à 16:44:05    

Personne pour m'aider ??  :sweat:

Reply

Marsh Posté le 30-07-2003 à 16:15:09    

Sniff, une petite aide ? :(

Reply

Marsh Posté le 04-08-2003 à 18:33:04    

Dans ton js tu peux faire un select singleNode sur ton select et changer le critere de selection. ensuite tu refait un transform
 
si je retrouve le code je te le file
 
enfin cherche pour "javascript +selectsinglenode +sort" a mon avis tu dois pouvoir trouver, sinon je te file ca demain qd je retourn au taff

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed