tri d'un tableau par ordre alphabétique

tri d'un tableau par ordre alphabétique - VB/VBA/VBS - Programmation

Marsh Posté le 30-03-2007 à 13:56:45    

Bonjour à tous,
 
Je developpe un site dans lequel je reçoit des données au format XML ces données sont en fait un tableau avec plusieurs colonnes ID, NOM, COMMUNE et CLASSEMENT.  
 
Le but de la page est d'afficher les communes rangées par ordre alphabétique.
 
Pour l'instant mon code est :  
 
 
Code :
 

Code :
  1. <%@ Page Language="VB" %>
  2. <%@ Import Namespace="System.Xml" %>
  3. <%@ Import Namespace="System.Data" %>
  4. <%@ Import Namespace="System.Data.OleDb" %>
  5. <script runat="server">
  6.     Public xmldoc As New XmlDataDocument()
  7.     Private idmodule As String = "module.xml"
  8.  
  9.     Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
  10.      
  11.        
  12.         Try
  13.             xmldoc.DataSet.ReadXml(idmodule)
  14.             xmldoc.DataSet.Tables(0).DefaultView.Sort = "commune ASC"
  15.             DataGrid1.DataSource = xmldoc.DataSet.Tables(0).DefaultView
  16.             DataGrid1.DataBind()
  17.             Afficher(xmldoc.DataSet)
  18.         Catch ex As Exception
  19.         End Try
  20.      
  21.        
  22.     End Sub
  23.     Function Afficher(ByVal Dset As DataSet)
  24.         Dim Dr As DataRow
  25.         Dim id As String
  26.         Dim nom As String         ' nom
  27.         Dim commune As String     ' commune
  28.         Dim classement As String  ' classment
  29.         For Each Dr In Dset.Tables(0).Rows
  30.             ' pour chaque ligne du dataset
  31.            
  32.             nom = Dr(10).ToString()    'colonne nom
  33.             id = Dr(0).ToString()
  34.          
  35.             commune = Dr(8).ToString()    'colonne commune
  36.            
  37.             classement = Dr(11).ToString()    'colone classment
  38.            
  39.             Dim Tr As New TableRow          ' nouvelle ligne
  40.             Dim Cel_nom As New TableCell       ' cellule nom
  41.             Dim Cel_commune As New TableCell       ' cellule nom
  42.             Dim Cel_classement As New TableCell       ' cellule nom
  43.          
  44.             Cel_nom.Text = nom
  45.             Cel_commune.Text = commune
  46.             Cel_classement.Text = classement
  47.             Tr.Cells.Add(Cel_nom)
  48.             Tr.Cells.Add(Cel_commune)
  49.             Tr.Cells.Add(Cel_classement)
  50.              
  51.             Me.Table1.Rows.Add(Tr)
  52.                
  53.            
  54.         Next
  55.         Return 1
  56.      
  57.     End Function
  58. </script>
  59. <!--#include file="1.aspx" -->
  60. <form id="Form1" action="" method="get" runat="server">
  61.      <asp:Table ID="Table1" border="0" CellSpacing="10" runat="server" Font-Size="12px">
  62.         </asp:Table></span>
  63. </form>
  64.  
  65. <asp:DataGrid id="DataGrid1" runat="server"
  66.          BorderColor="black"
  67.          GridLines="Vertical"
  68.          cellpadding="4"
  69.          cellspacing="0"
  70.          width="450"
  71.          Font-Name="Arial"
  72.          Font-Size="8pt"
  73.          HeaderStyle-BackColor="#cc9966"
  74.          FooterStyle-BackColor="#cccc99"
  75.          ItemStyle-BackColor="#ffffff"
  76.          AlternatingItemStyle-Backcolor="#cccccc" />
  77.          <!--#include file="2.aspx" -->


 
Ma datarid me sert juste d'affichage de données, la finalité de ma page web est d'afficher dans un tableau (objet asp:Table) la liste des communes par ordre alphabétique.
 
 
Merci de votre aide.

Reply

Marsh Posté le 30-03-2007 à 13:56:45   

Reply

Marsh Posté le 30-03-2007 à 15:09:56    

et en quoi on doit pouvoir t'aider ?

Reply

Marsh Posté le 02-04-2007 à 14:34:54    

Effectivement, l'emploi de VB semble ici étrange, pourquoi ne par trier tes données xml via xsl, avec la fonction sort :
 
<xsl:sort select="Commune"/>
 
par exmple ?

Reply

Sujets relatifs:

Leave a Replay

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