我正在尝试从最后一行更新单元格值。我有4个cols和4行,我想把第4个col第4个单元格值带到第3行第3个单元格, 就像那样把第4列第3单元格值带到第2行第3单元格......等等。
这里的逻辑错误是什么,ifix如何?
下面的代码正在运行,但是在最后一行(从botton到top)我收到索引错误(参数超出范围)。
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;
}
答案 0 :(得分: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){}
答案 1 :(得分:0)
获取最后一行索引(基于零的索引 - RowCount - 1)
int lastRowIndex = SecondaryGridView.Rows.Count - 1;
这应该可以解决您的问题。