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 :

exception non gérée du type 'System.IndexOutOfRangeException'


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 47
    Points
    47
    Par défaut exception non gérée du type 'System.IndexOutOfRangeException'
    J'ai un sacré pb, j'ai une datagrid qui ramène des infos via un dataset et je m'apercois que si il n'y a pas de données dans la base ou si le filtre fait que je n'ai pas de données alors j'obtiens le msg suivant :
    Une exception non gérée du type 'System.IndexOutOfRangeException' s'est produite dans system.windows.forms.dll

    Informations supplémentaires*: L'index se trouve en dehors des limites du tableau.
    Le pb c'est que je ne sais pas ou ca plante même avec des points d'arrêt car il semble que ce soit du code "pas accessible" gloups ...

    Quelqu'un saurait de quoi il s'agit ...

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ca veux dire que tu "sors" de ton tableau.
    Cette erreur apparait souvent quand tu listes un tableau ou une dataview...

    Par exemple si j'ai un tableau de 3 elements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Tab as new ArrayList
    Tab(0) = "element 1"
    Tab(1) = "element 2"
    Tab(2) = "element 3"
    Il faut deja faire attention aux indices qui sont décalés de 1 !

    Pour le lister sans erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i as integer = 0 to Tab.Count - 1
      'ton code ici
    Next
    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i as integer = 0 to Tab.Count
      'ton code ici
    Next
    Tu auras l'erreur citée plus haut puisque lors du listage, tu va sortir de ton tableau.

    C'est ce qui doit se passer dans ton programme. As toi de trouver où c'est avec des points d'arrets et c'est forcement accessible si ce n'est pas dans une DLL...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 47
    Points
    47
    Par défaut
    Merci pour ton aide ... ca m'a mis sur la piste

    Je ramenais mes données et me positionnais sur le premier élement sans vérifier qu'il y avait des élements.
    J'ai rajouté un test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     If Dataview1.Count = 0 Then
                MsgBox("Aucunes Commandes sur la période du etc ")
     Else
                Grid_cde1.DataSource = Dataview1
                ...
                Grid_cde1.Select(0)
                Grid_cde1.CurrentRowIndex = 0
                ...
    endif

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/12/2014, 09h48
  2. Réponses: 0
    Dernier message: 26/08/2014, 20h03
  3. Réponses: 2
    Dernier message: 30/05/2014, 14h45
  4. Réponses: 0
    Dernier message: 30/05/2014, 10h54
  5. Réponses: 2
    Dernier message: 21/09/2013, 10h56

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