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 :

problème sur selection dans un DataGridView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Février 2007
    Messages : 246
    Par défaut problème sur selection dans un DataGridView
    Bonjour,

    je réalise un projet de reporting, dans un datagriedview, lorsque je double-click sur une ligne, j'affiche le détail de celle-ci. Je teste donc sir il y a au moins un ligne et que l'index selectionné n'est pas null.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If (Me.DataGridViewListeCommande.Rows.Count = 0 _
               OrElse Me.DataGridViewListeCommande.Rows(DataGridViewListeCommande.SelectedRows(0).Index) Is Nothing) Then
                Return
            End If
    Pourtant quand je double click sur un ligne correcte une exception est levé:

    Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index
    Avez-vous une idée de ce problème ?

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Bonjour,

    dans ton cas tu oublies de tester si SelectedRows.Count > 0

  3. #3
    Membre éclairé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Février 2007
    Messages : 246
    Par défaut
    même avec ce test en plus, l'erreur est la même.

  4. #4
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Tester le nombre de row selectionnées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DataGridViewListeCommande.SelectedRows.count
    Avoir l'index de la ligne courrante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DataGridViewListeCommande.CurrentRow.Index

  5. #5
    Membre éclairé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Février 2007
    Messages : 246
    Par défaut
    OK, merci pouir cet info. Maintenant j'ai un autre problème dans la suite de l'évent double-click, je souhaite en fonction de la colonne selectionné affiché le détail de la commande si la colonne selectionné est inférieur à 14 sinon j'affiche dans un autre datagriedview des infos sur les métaux de la commande.

    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
     
      If (Me.DataGridViewListeCommande.SelectedColumns(0).Index < 14) Then
                RefreshDataMetal(Me.DataGridViewListeCommande.SelectedRows(0).Cells(0).ToString(), Convert.ToDateTime(Me.DataGridViewListeCommande.SelectedRows(0).Cells(15)))
            Else
                Using FrmDetailCommande As FormDetailCommande = New FormDetailCommande()
                    For Each ligne As sBL.CommandeToMetal In listCommandeToMetal
                        For Each ligneCde As sBL.DetailCommande In ligne.dc_Commande
                            If ligneCde.s_orderid = Me.DataGridViewListeCommande.SelectedRows(0).Cells(0).ToString() Then
                                cdeSelection = ligneCde
                                Return
                            End If
                        Next
                    Next
     
                    If IsNothing(cdeSelection) = False Then
                        FrmDetailCommande.Cde = cdeSelection
                        FrmDetailCommande.ShowDialog()
                    End If
    j'ai une exception levé sur If(Me.DataGridViewListeCommande.SelectedColumns(0).Index < 14) Then

    Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index

  6. #6
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    L'index de la colonne inférieur à 14 ou la valeur de la cellule (croisement de la colonne selectionnée et de la row selectionnée) ?

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

Discussions similaires

  1. Problème de selected dans un listbox
    Par delichoc dans le forum ASP
    Réponses: 4
    Dernier message: 21/06/2008, 21h06
  2. Problème sur Renomer dans un CTreeCtrl
    Par scottmada dans le forum MFC
    Réponses: 2
    Dernier message: 27/03/2008, 17h25
  3. Problème avec Select dans le formulaire
    Par jejefm dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2007, 09h34
  4. Réponses: 1
    Dernier message: 20/07/2006, 17h03
  5. changement de formulaire sur selection dans le select
    Par LeXo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/06/2006, 11h51

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