0

先生,我在这些代码中得到了超出范围异常的索引,谁能解释我在哪里做错了

if (SelectedRowtt > -1)
{   
    dgvSItt.Rows[SelectedRowtt].Cells["Item_Code"].Value =txtItemCode.Text;
    dgvSItt.Rows[SelectedRowtt].Cells["Description"].Value = txtDescription.Text;
    dgvSItt.Rows[SelectedRowtt].Cells["Qty"].Value = Convert.ToDecimal(txtQty.Text).ToString(Program.gDigitsAfterDecimal);
    dgvSItt.Rows[SelectedRowtt].Cells["UOM"].Value = Convert.ToDecimal(txtUOM.Text).ToString(Program.gDigitsAfterDecimal);

    gvSItt.Rows[SelectedRowtt].Cells["Amount"].Value = Convert.ToDecimal(txtAmount.Text).ToString(Program.gDigitsAfterDecimal);
    dgvSItt.Rows[SelectedRowtt].Cells["Discount"].Value = Convert.ToDecimal(txtRate.Text).ToString(Program.gDigitsAfterDecimal);
    SelectedRowtt = -1;
}
else
{
    IsDO = false;
    dgvSItt.Rows.Add();
    SelectedRowtt = -1;
}
4

2 回答 2

0

取决于你如何获得SelectedRowtt。通常会发生这种异常,因为索引以 0 开头并以Rows.Count -1您尝试获取dgvSItt.Rows[Rows.Count].

于 2015-02-20T10:20:41.643 回答
0

当您在无效的数组(或集合)上使用索引时,您会收到该消息。例如,您可能为myArray[0]最多定义了一个数组myArray[10]。如果您尝试访问myArray[-1],否则myArray[11]您会收到错误消息。

在您的情况下,它可能位于行或单元格集合上。

于 2015-02-20T10:17:29.767 回答