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 :

DataGridView Inversion entre deux lignes


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Par défaut DataGridView Inversion entre deux lignes
    Bonjours,

    Je suis actuellement sur un projet assez complexe et j'essaye d'avancer petits à petits, grâce a vous et vos ancien message, j'ai réussi a trouver pas mal de truc qui m'ont aider mais il me manque l'essentiel, c'est a dire, je souhaite réaliser un trie entre les lignes de mon tableau on fonction d'un valeur dans l'une des cells. J'ai déjà la structure pour trié mais j'ai besoin d'inverser deux lignes pour réaliser mon trie.

    En faite, je sais que datagridview a plein de fonction, si sa se trouve, je peux directement réaliser un trie sans avoir à le faire moi mais mais je pense qu'il existe une fonction qui réalise l'inversion entre deux lignes même si j'ai pas réussi à la trouver.


    Merci d'avance pour vos réponse !!

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Par défaut
    Voila une solution un peu brutal mais j'ai tester et sa marche très bien, j'ai due tricher un peu, au lieu d'inverser deux lignes, j'ai enregistré toute les cells d'une lignes dans des variables, j'ai ensuite crée une boucle for qui échange tous les Cells de ma ligne par ceux d'une autre ligne pour ensuite remettre les cells enregister dans les variables locaux dans la ligne qui reste:

    Voila mon code :
    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
    'i représente le nombre le ligne dans le tableau car j'ai un tableau dynamique
            If i > 1 Then
                Dim EnOrdre As Boolean = False
                While Not EnOrdre
                    EnOrdre = True
                    Dim x As Integer
                    For x = 1 To i - 1
                        If DataGridView1.Rows(x - 1).Cells(7).Value < DataGridView1.Rows(x).Cells(7).Value Then
     
                            Dim y As Integer
                            Dim y0, y1, y2, y3, y4, y5, y6, y7 As Object
                            y0 = DataGridView1.Rows(x - 1).Cells(0).Value
                            y1 = DataGridView1.Rows(x - 1).Cells(1).Value
                            y2 = DataGridView1.Rows(x - 1).Cells(2).Value
                            y3 = DataGridView1.Rows(x - 1).Cells(3).Value
                            y4 = DataGridView1.Rows(x - 1).Cells(4).Value
                            y5 = DataGridView1.Rows(x - 1).Cells(5).Value
                            y6 = DataGridView1.Rows(x - 1).Cells(6).Value
                            y7 = DataGridView1.Rows(x - 1).Cells(7).Value
     
                            For y = 0 To 7
                                DataGridView1.Rows(x - 1).Cells(y).Value = DataGridView1.Rows(x).Cells(y).Value
                            Next
                            DataGridView1.Rows(x).Cells(0).Value = y0
                            DataGridView1.Rows(x).Cells(1).Value = y1
                            DataGridView1.Rows(x).Cells(2).Value = y2
                            DataGridView1.Rows(x).Cells(3).Value = y3
                            DataGridView1.Rows(x).Cells(4).Value = y4
                            DataGridView1.Rows(x).Cells(5).Value = y5
                            DataGridView1.Rows(x).Cells(6).Value = y6
                            DataGridView1.Rows(x).Cells(7).Value = y7
                            EnOrdre = False
                        End If
                    Next
                End While
     
            End If
    Je rappel que pour vérifier si je doit inverser deux lignes ou pas, je regarde le niveau de priorité qui se trouve à la derniere colonne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/12/2008, 14h20
  2. Retirer l'espacement entre deux lignes
    Par teddybox dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 07/10/2008, 18h36
  3. Réponses: 1
    Dernier message: 20/06/2007, 17h03
  4. Marge entre deux lignes d'un tableau
    Par Kevin.Perez dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 12/03/2007, 12h29
  5. Réponses: 5
    Dernier message: 10/04/2006, 12h07

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