0

我正在尝试从最后一行更新单元格值。我有 4 列和 4 行,我想将第 4 列第 4 单元格值带到第 3 行第 3 单元格,就像这样将第 4 列第 3 单元格值取到第 2 行第 3 单元格..ETC..!

这里的逻辑错误是什么,如何解决这个问题?

下面的代码正在工作,但在最后一行(从底部到顶部)我收到索引错误(参数超出范围)。

if (e.ColumnIndex != 3)
    return;
int nextRowIndex = e.RowIndex - 1;
int lastRowIndex = SecondaryGridView.Rows.Count + 1;
if (nextRowIndex <= lastRowIndex)
{
    var value = SecondaryGridView.Rows[e.RowIndex].Cells[3].Value.ToString();
    SecondaryGridView.Rows[nextRowIndex].Cells[2].Value = value;
}
4

2 回答 2

1

一个简单的 try catch 解决了这个问题。购买我不知道这是否是正确的解决方案。

请纠正我,如果我做错了什么,在这里。

if (e.ColumnIndex != 3)
    return;

int nextRowIndex = e.RowIndex - 1;
int lastRowIndex = SecondaryGridView.Rows.Count;

try
{
    if (nextRowIndex <= lastRowIndex)
    {
        var value = SecondaryGridView.Rows[e.RowIndex].Cells[3].Value.ToString();
        SecondaryGridView.Rows[nextRowIndex].Cells[2].Value = value;
    }
}
catch(Exception exception){}
于 2012-10-29T11:28:03.457 回答
0

获取最后一行索引(从零开始的索引 -- RowCount - 1)

    int lastRowIndex = SecondaryGridView.Rows.Count - 1;

这应该可以解决您的问题。

于 2012-10-29T11:07:31.447 回答