IndexOutOfRangeException on Gridview

本文关键字:Gridview on IndexOutOfRangeException | 更新日期: 2023-09-27 18:15:09

基本上,我有一些网格视图,然后用户应该能够从网格视图中选择和删除一些内容。问题是,我不能从中选择或删除任何内容,我只能插入。每次我得到这个错误。我似乎不知道它出了什么问题。我有一个模糊的想法,我需要进行一些错误处理,但我不知道怎么做。

编辑:

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

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

IndexOutOfRangeException on Gridview

首先,您应该在这里发布代码,而不是在其他站点。

删除的违规代码是:

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

尝试使用grvFornecedores.SelectedIndex而不是e.RowIndex