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();
}
首先,您应该在这里发布代码,而不是在其他站点。
删除的违规代码是:
objFornecedor.fornecedorID = Convert.ToInt32(grvFornecedores.DataKeys[e.RowIndex].Value);
尝试使用grvFornecedores.SelectedIndex
而不是e.RowIndex
。