2013-05-24 6 views
1

Fondamentalement, j'ai quelques gridviews et ensuite l'utilisateur devrait pouvoir sélectionner et supprimer quelque chose de la grille. La chose est que je ne peux pas sélectionner ou supprimer quelque chose à partir de là, je peux simplement insérer. Chaque fois que je reçois cette erreur. Je n'arrive pas à comprendre ce qui ne va pas. J'ai une idée faible que je dois placer un traitement d'erreur, mais je ne sais pas comment.IndexOutOfRangeException sur Gridview

Edit:

Je pense que ce sont les parties qui me donnent du mal:

protected void grvFornecedores_RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 
     Fornecedores objFornecedor = new Fornecedores(); 
     objFornecedor.fornecedorID = Convert.ToInt32(grvFornecedores.DataKeys[e.RowIndex].Value); 
     if (objFornecedor.Excluir()) 
     { 
      CarregarFornecedoresGridView(); 
     } 

    } 
    protected void grvFornecedores_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) 
    { 
     Fornecedores objFornecedor = new Fornecedores(); 
     objFornecedor.fornecedorID = Convert.ToInt32(
      grvFornecedores.DataKeys[e.NewSelectedIndex].Value 
     ); 
     objFornecedor = objFornecedor.ListarUm(); 
     txtCodigoForn.Text = objFornecedor.fornecedorID.ToString(); 
     txtNomeFantasia.Text = objFornecedor.nomeFantasia; 
     txtRazaoSocial.Text = objFornecedor.razaoSocial; 
     txtCNPJ.Text = objFornecedor.cnpj.ToString(); 
    } 
+0

oh mon dieu c'est cet espagnol? :/ –

+2

C'est le portugais. Ma langue maternelle. @OP: s'il vous plaît isoler le code qui vous donne des problèmes et poster ici, pas dans un autre site. Aussi, lorsque vous l'apportez ici, veuillez traduire tous les commentaires utiles. – Renan

+0

Oh, désolé, j'étais pressé et posté sans faire attention. Je vais l'éditer. –

Répondre

0

D'abord, vous devez envoyer votre code ici, pas dans d'autres sites.

Le code incriminé pour la suppression est la suivante:

objFornecedor.fornecedorID = Convert.ToInt32(grvFornecedores.DataKeys[e.RowIndex].Value); 

Au lieu de e.RowIndex, essayez grvFornecedores.SelectedIndex.

Questions connexes