Gridview上的IndexOutOfRangeException

时间:2013-05-24 19:01:43

标签: c# gridview

基本上,我有一些网格视图,然后用户可以从gridview中选择和删除一些东西。事情是,我不能从那里选择或删除任何东西,我可以插入。每次我收到此错误。我似乎无法弄清楚它有什么问题。我有一个微弱的想法,我需要进行一些错误处理,但我不知道如何。

编辑:

我认为这些是给我带来麻烦的部分:

 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();
    }

1 个答案:

答案 0 :(得分:0)

首先,您应该在此处发布您的代码,而不是在其他网站上发布。

删除的违规代码是:

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

而不是e.RowIndex,请尝试grvFornecedores.SelectedIndex