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 selon une colonne sur un dataset


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 31
    Points : 18
    Points
    18
    Par défaut Tri selon une colonne sur un dataset
    Bonjour,

    j'ai ma fonction ci dessous :


    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
        Public Function GetListePatients(ByVal service As String) As Integer
            Dim Obj As New VbDCom001.VbDCom001_Connexion("CLB5_SQL1")
            Dim Cnx As System.Data.SqlClient.SqlConnection
            Dim ps As New VbDCom001.VbDCom001_ProcStock()
     
            utilisateur.FindByIdent(serveurCAS.username.ToUpper)
     
            Try
                If Obj.VbDCom001_Init_Connexion() = "" Then
                    Cnx = Obj.VbDCom001_Get_Connexion()
                    ps.VbDCom001_Procedure("GSejours_FctCommunes_PO", Cnx)
                    ' ps.VbDCom001_Parameter("date", Data.SqlDbType.Char, DateTime.Now.ToString("dd/MM/yyyy"))
                    ps.VbDCom001_Parameter("appel", Data.SqlDbType.Char, "16")
                    ps.VbDCom001_Parameter("serv", Data.SqlDbType.Char, service)
     
                    Ds = ps.VbDCom001_Fill()
     
     
                Else
     
                End If
     
                Obj.VbDCom001_Close_Connexion()
     
            Catch ex As Exception
     
            End Try
     
            Return Ds.Tables(0).Rows.Count
     
        End Function

    La procédure stockée que j'invoque ne peut pas être modifié et me renvoie les lignes pas triées comme je le voudrais. Je voudrais donc pouvoir trier directement depuis le code VB.NET

    Comment puis-je faire dans mon cas svp ? J'ai essayé des choses genre "sort" etc.. mais sur un dataset rien ne marche...

    Merci

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Tu peux alors travailler avec un DataView.

    Voici un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim dv as dataview = new dataview(Ds("NOM_DE_TA_TABLE"))
     
    dv.sort = COLONNE_A_TRIER
    tu peux aussi appliquer un rowfilter sur ton dataview, celui-ci étant l'équivalent d'une clause "where" en SQL. Bien sur c'est de dataview que tu devras utiliser pour l'affichage dans tes composants de ton interface (DATABINDING ?)

    Tu peux trouver plus d'information sur le msdn

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Le probème c'est que dans ma page aspx j'utilise que des trucs du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ds.Tables(0).Rows(i)("nodos")
    avec Ds mon dataset. IL n'y a vraiment aucun moyen de trier juste un DATASET sans passer par un dataview ?

  4. #4
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Je ne pense pas car le but du dataset est la représentation des données en mémoire (tables, liaison, etc ), celui dataview permettant lui d'effectuer des opérations de base sur les données pour la présentation à l'utilisateur.

    Maintenant sans en vérifier la syntaxe, tu dois pouvoir écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dv.Table.Rows(i)("nodos")
    Ton dataset pouvant contenir une collection de DataTable. Le fait à la création de passer un des DataTable comme paramètre à ton DataView fait pointer celui-ci sur le DataTable. Si tu analyses ta ligne

    Tu remarqueras qu'en fait tu travailles sur la DataTable situé à l'index 0 de ton Dataset. Ce qui équivaut à travailler sur la DataTable source de ton Dataview.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    C'est bon merci j'ai fait avec un dataview et ça marche bien

  6. #6
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Parfait ;-)

    N'oublie pas de marquer la discussion comme résolue.

Discussions similaires

  1. [XL-2003] Compter les occurences selon une condition sur une autre colonne
    Par juvamine dans le forum Excel
    Réponses: 4
    Dernier message: 13/05/2009, 11h08
  2. Tri selon une colonne
    Par ThunderBolt_ dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2007, 14h06
  3. Mauvais focus lors du tri d'une colonne sur un datagrid
    Par Scorpi0 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/10/2007, 14h18
  4. [C#] [WinForms] Evènement sur le tri d'une colonne
    Par beway dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/03/2005, 16h43
  5. Tri dans une DBGrid sur un champ date au format jj/mm
    Par Jeankiki dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/10/2004, 12h32

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