6

MultiSelect = true の DataGridView があります。ユーザーが異なる行から異なるセルを選択した後、選択したすべてのセルの値を取得するにはどうすればよいですか?

4

2 に答える 2

16

SelectedCellsを反復処理できます。

foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
{
    MessageBox.Show(cell.Value.ToString());
}

値のみを要求しましたが、おそらくセルの行と列も知りたいと思うでしょう。そうしないと、値が無意味になる可能性があります。セル オブジェクトでもこれらにアクセスできます。

于 2009-12-30T04:33:44.723 に答える
4

foreach -

DataGrid.SelectedCells

SelectedCells プロパティの詳細については、http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.selectedcells.aspxを参照してください。

SelectedCells コレクションは、DataGridView の大規模な選択では非効率的です。選択したセルの数を取得するために使用できる方法があります。それに基づいて反復すると、より高速になります。

for (int i = 0; i < grid.GetCellCount(System.Windows.Forms.DataGridViewElementStates.Selected); i++)
{
    string val = grid.SelectedCells[i].Value;
}
于 2009-12-30T04:23:18.167 に答える