2012-01-04 9 views
0

DataGridviewで行のグループを選択したいとします。データグリッドビューの隣接行を選択(hightlight)

void SelectAdjacentRows(int i) 
{ 
    if (i == -1) 
     return; 
    dgw.Rows[i].Selected = true; 
    if (i < dgw.Rows.Count - 1) 
     dgw.Rows[i + 1].Selected = true; 
} 

CellClickイベントから呼び出され、行が正しく選択されています。しかし、上/下キーを使用してグリッドビューをナビゲートすると、選択が失われます。私はRowStateChangedイベントを使用しようとしましたが、その後、私は私はこのようなイベントサブスクリプション削除にもかかわらず、無限ループに走った:キーを上/下使用してナビゲートするときに選択を行う方法

private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) 
{ 
     if (e.StateChanged == DataGridViewElementStates.Selected) 
     { 
    dgw.RowStateChanged -= dataGridView1_RowStateChanged; 
    SelectAdjacentRows(e.Row.Index); 
    dgw.RowStateChanged += dataGridView1_RowStateChanged; 
     } 
} 

を?

答えて

0

私は、DataGridViewの* Stateイベントを扱うことができませんでした。私はSelectionChanged Eventを調べることをお勧めします。

関連する問題