0

最後の行からセルの値を更新しようとしています.4列と4行を取得しました、4列目の4番目のセルの値を3行目の3番目のセルに移動します4列目の3番目のセルの値を2行目の3番目のセルに移動します..等..!

ここでの論理的な間違いは何ですか、これをどのようにifixできますか?

以下のコードは機能していますが、最後の行(ボタンから上へ)でインデックスエラー(引数が範囲外)が発生しています。

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

簡単なtrycatchで問題が修正されました。購入これが正しい解決策かどうかはわかりません。

私が何か間違ったことをしているなら、ここで私を訂正してください。

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

最後の行のインデックスを取得するには (0 ベースのインデックス -- RowCount - 1)

    int lastRowIndex = SecondaryGridView.Rows.Count - 1;

これで問題が解決するはずです。

于 2012-10-29T11:07:31.447 に答える