IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Tri d'un tableau par ordre alphabétique


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Tri d'un tableau par ordre alphabétique
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
    <%@ Page Language="VB" %>
    <%@ Import Namespace="System.Xml" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
     
    <script runat="server">
     
        Public xmldoc As New XmlDataDocument()
        Private idmodule As String = "module.xml"
     
        Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
     
     
            Try
                xmldoc.DataSet.ReadXml(idmodule)
     
                xmldoc.DataSet.Tables(0).DefaultView.Sort = "commune ASC"
                DataGrid1.DataSource = xmldoc.DataSet.Tables(0).DefaultView
                DataGrid1.DataBind()
                Afficher(xmldoc.DataSet)
     
            Catch ex As Exception
            End Try
     
     
        End Sub
        Function Afficher(ByVal Dset As DataSet)
            Dim Dr As DataRow
     
            Dim id As String
     
            Dim nom As String         ' nom
            Dim commune As String     ' commune
            Dim classement As String  ' classment 
     
            For Each Dr In Dset.Tables(0).Rows
                ' pour chaque ligne du dataset
     
                nom = Dr(10).ToString()    'colonne nom
                id = Dr(0).ToString()
     
                commune = Dr(8).ToString()    'colonne commune
     
                classement = Dr(11).ToString()    'colone classment
     
     
     
                Dim Tr As New TableRow          ' nouvelle ligne
     
                Dim Cel_nom As New TableCell       ' cellule nom
                Dim Cel_commune As New TableCell       ' cellule nom
                Dim Cel_classement As New TableCell       ' cellule nom
     
     
     
     
                Cel_nom.Text = nom
                Cel_commune.Text = commune
                Cel_classement.Text = classement
     
                Tr.Cells.Add(Cel_nom)
                Tr.Cells.Add(Cel_commune)
                Tr.Cells.Add(Cel_classement)
     
                Me.Table1.Rows.Add(Tr)
     
     
     
            Next
     
            Return 1
     
        End Function
     
    </script>
     
     
     
    <!--#include file="1.aspx" -->
     
     
    <form id="Form1" action="" method="get" runat="server">
       	 <asp:Table ID="Table1" border="0" CellSpacing="10" runat="server" Font-Size="12px">
            </asp:Table></span>
    	</form>
     
     
     
    <asp:DataGrid id="DataGrid1" runat="server" 
             BorderColor="black" 
             GridLines="Vertical" 
             cellpadding="4" 
             cellspacing="0" 
             width="450"
             Font-Name="Arial" 
             Font-Size="8pt" 
             HeaderStyle-BackColor="#cc9966"
             FooterStyle-BackColor="#cccc99"
             ItemStyle-BackColor="#ffffff"
             AlternatingItemStyle-Backcolor="#cccccc" />
             <!--#include file="2.aspx" -->
    Dans ma datagrid les communes sont bien classées. Mais dans mon tableau d'affichage (Table1) les données sont rangés par ID.

    Apparement la methode DefaultView.Sort n'est pas prise en compte pour mon Tableau d'affichage.

    Comment faire pour que mon DataSet de ma datagrid soit exactement la même dans mon tableau ?

    Merci de votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 88
    Points : 99
    Points
    99
    Par défaut
    Salut,

    Tu as essaié de trier tes colonnes ?

    Tu peut-être trouver ton bonheur là
    http://msdn2.microsoft.com/fr-fr/lib...dy(VS.80).aspx.

    Ca doit être un peu près la même chose, quand WinForm.

    @ +

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci de ta réponse,

    En fait je me sert d'un datagrid juste pour afficher les données que je reçoit. La finalité de ma page web est d'afficher les données de ce datagrid dans un tableau (juste pour lui mettre un style, faire quelque chose de joli ).
    Ce qu'il me faut c'est une fonction de tri alphabétique pour un tableau simple(Table1 dans mon code). (oui j'ai cherché chez mon ami google...)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Points : 89
    Points
    89
    Par défaut
    Si tu essaies cette manipulation ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xmldoc.DataSet.Tables(0).DefaultView.Sort = "commune ASC"
    xmldoc.DataSet.Tables(0) = xmldoc.DataSet.Tables(0).DefaultView.ToTable

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bon je up après un week-end de repos bien mérité.
    J'ai essayé ta manipulation Zyth malheuresement j'ai une belle erreur lorsque je lance la page...

    Quelqu'un aurait une autre proposition ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Points : 89
    Points
    89
    Par défaut
    Quelle est l'erreur ?

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Voila,

    Message d'erreur du compilateur: BC30456: 'ToTable' n'est pas un membre de 'System.Data.DataView'.
    Ligne 18 :
    Ligne 19 : xmldoc.DataSet.Tables(0).DefaultView.Sort = "commune ASC"
    Ligne 20 : xmldoc.DataSet.Tables(0) = xmldoc.DataSet.Tables(0).DefaultView.ToTable
    Ligne 21 : DataGrid1.DataSource = xmldoc.DataSet.Tables(0).DefaultView
    Ligne 22 : DataGrid1.DataBind()

Discussions similaires

  1. Tri d'un combobox par ordre alphabétique
    Par LANGAZOU dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2015, 22h53
  2. Classer un tableau par ordre alphabétique d'un valeur?
    Par morgan47 dans le forum Langage
    Réponses: 10
    Dernier message: 14/02/2012, 15h25
  3. [Tableaux] Classer un tableau par ordre alphabétique
    Par s-c-a-r-a dans le forum Langage
    Réponses: 4
    Dernier message: 06/04/2008, 23h48
  4. Tri d'un tableau par ordre croissant
    Par goaks dans le forum Algorithmes et structures de données
    Réponses: 46
    Dernier message: 29/06/2007, 16h41
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo