C# 从最后一行更新datagridview
我正在尝试更新最后一行的单元格值。我得到了4列和4行,我想将第4列第4个单元格值取到第3行第3个单元格, 这样,将第4列第3个单元格的值移到第2行第3个单元格…等等 这里的逻辑错误是什么,怎么能解释呢 下面的代码正在工作,但在最后一行(从botton到top),我得到了一个索引错误(参数超出范围)C# 从最后一行更新datagridview,c#,winforms,datagridview,C#,Winforms,Datagridview,我正在尝试更新最后一行的单元格值。我得到了4列和4行,我想将第4列第4个单元格值取到第3行第3个单元格, 这样,将第4列第3个单元格的值移到第2行第3个单元格…等等 这里的逻辑错误是什么,怎么能解释呢 下面的代码正在工作,但在最后一行(从botton到top),我得到了一个索引错误(参数超出范围) if(如ColumnIndex!=3) 返回; int-nextRowIndex=e.RowIndex-1; int lastRowIndex=SecondaryGridView.Rows.Count
if(如ColumnIndex!=3)
返回;
int-nextRowIndex=e.RowIndex-1;
int lastRowIndex=SecondaryGridView.Rows.Count+1;
if(nextRowIndex获取最后一行索引(从零开始的索引--行计数-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){}
if(如ColumnIndex!=3)
返回;
int-nextRowIndex=e.RowIndex-1;
int lastRowIndex=SecondaryGridView.Rows.Count;
尝试
{
如果(nextRowIndexáGeorge Dgebuadze):我已经尝试过这种方法,我仍然有同样的问题。
int lastRowIndex = SecondaryGridView.Rows.Count - 1;
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){}