2011-07-26 11 views
0

標準のWinFormsデータグリッドで非連続行をプログラムで選択する方法はありますか?WinForms DatagridViewで行をプログラムでマルチ選択する

foreach (var selectableRowIndex in selectableRowIndices) 
{ 
    dataGridView.Rows[selectableRowIndex ].Selected = true; 
} 

...は、作業を行いますが、

dataGridView.CurrentCell = dataGridView.Rows[underlyingRowIndex].Cells[1]; 

経由のDataGridViewの.CurrentCellプロパティを設定した後、他のすべての行が選択解除されます。

現在の行/セルを設定し、他の行を選択したままにする適切な方法は何ですか?

+0

あなたは 'Rows'プロパティについて話しているので、あなたは' DataGrid'クラスの代わりに 'DataGridView'を使っていると思います。 使用しているコードはここでうまくいきます。あなたの 'DataGridView'の' MultiSelect'プロパティが 'true'に設定されていることを確認できますか? – DarkSquirrel42

+0

Multiselectは本当にtrueに設定されています。はい、DataGridViewです。混乱して申し訳ありません。 –

答えて

0

迅速かつ汚いソリューションは、次のようになります。


-re-選択した行を現在のセル-change

+0

それは私がやったことです、ありがとう! –

1

を現在選択されている行
のIDを-get私は同じ問題を抱えていたし、私の解決策は、選択された行のIDでList<Int32>を持ち、必要に応じてIDを追加または削除することでした。

関連する問題