C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 47 を表示中)
■25660 / )  datagridviewの選択行について
□投稿者/ ありあり (4回)-(2008/09/24(Wed) 13:51:31)

分類:[C#] 

開発環境:VisualStudio2005(C#) OS:windowsXP
で開発しております。

datagridviewでフォーカスを受け取った際に選択されている行の値を取得したいのですが、
1行目を最初にクリックした場合のみ、SelectedRowsに行が格納されていない現象が発生しています。

2行目以降を最初にクリックした場合や、他の行をクリックした後1行目をクリックするときちんと
SelectedRowに行が格納されています。

1行目をdatagridview.Rows[0].Cells[0].Selected=trueにすると、RowEnterイベント内で無限ループ
に陥るため、行を強制的に選択状態にすることはできません。

どなたか回避方法をご存知の方、ご教授よろしくお願いします。


///行が入力フォーカスを受け取り、現在の行になったとき発生するイベント(RowEnter)
///
private void datagridview_RowEnter_test(object sender, DataGridViewCellEventArgs e) {
    if (e.ColumnIndex < 0 || e.RowIndex < 0) {
        return;
    }
    Debug.WriteLine("RowEnter:RowIndex=" + e.RowIndex);
    Debug.WriteLine("RowEnter:ColumnIndex=" + e.ColumnIndex);

    foreach (DataGridViewRow row in ((DataGridView)sender).SelectedRows) {
        string id = row.Cells[0].Value.ToString();
        Debug.WriteLine("selectRow!! id=" + id);
    }

}

返信 編集キー/


管理者用

- Child Tree -