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

Accès aux données Discussion :

[C#] Comment gérer une erreur dans un dataGrid "System.IndexOutOfRangeException" ?


Sujet :

Accès aux données

  1. #1
    epc
    epc est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 83
    Points : 47
    Points
    47
    Par défaut [C#] Comment gérer une erreur dans un dataGrid "System.IndexOutOfRangeException" ?
    Bonjour,

    Dans mon dataGrid, lorsque je clique sur une cellule, je recupère la valeur de ma première colonne. Le problème, arrive au moment ou je clique sur la dernière ligne (vierge) afin de faire une nouvelle saisie, je recupère le message d'erreur suivant
    "Une exception non gérée du type 'System.IndexOutOfRangeException' s'est produite dans system.windows.forms.dll
    Informations supplémentaires : Pas de valeur à l'index 19."
    Voici ce que j'ai ecris afin de pallier cette erreur, mais cela ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DataSet ds;
    ds = (DataSet) dataGrid1.DataSource;
    if (dataGrid1[myHT.Row,0].ToString()!=null)
    {
      label3.Text = dataGrid1[myHT.Row,0].ToString();
      button8.Text = "Générer " + dataGrid1[myHT.Row,2].ToString();
    }
    Je ne suis pas très fort en syntaxe.

    Merci pour votre aide.

  2. #2
    epc
    epc est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    J'ai peut être été incomplet

    //Evènement par un clic sur dataGrid

    private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)

    {

    //Recherche la postition en X et Y

    System.Windows.Forms.DataGrid.HitTestInfo myHT;

    myHT = dataGrid1.HitTest(e.X,e.Y);

    //Prend le contenu de la cellule (sauf la colonne et la rangée "-1")

    if (myHT.Row != -1 && myHT.Column != -1)

    {

    DataSet ds;

    ds = (DataSet) dataGrid1.DataSource;

    if (dataGrid1[myHT.Row,0].ToString()!=null)

    // C'est la l'erreur car "dataGrid1[myHT.Row,0].ToString()" ne peut pas retourner la valeur de l'index lors de la création, puisque la valeur est vierge !!!

    {

    label3.Text = dataGrid1[myHT.Row,0].ToString();

    button8.Text = "Générer " + dataGrid1[myHT.Row,2].ToString();

    }

    }

    }

Discussions similaires

  1. Réponses: 22
    Dernier message: 17/06/2012, 10h28
  2. [débutant] Comment gérer une liste dans une liste
    Par Lenoiche dans le forum iReport
    Réponses: 0
    Dernier message: 16/07/2008, 10h41
  3. comment recupérer une valeur dans un datagrid
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/02/2006, 17h04
  4. Comment détecter une erreur dans un process
    Par chuckboy dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 10h40
  5. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06

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