回答:
テストされていませんが、以下を実行できると思います。
dataGrid.Rows[index].Selected = true;
または、次のことを実行できます(ただし、テストされていません)。
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
SelectedRows.Clear()
のみ選択された行はクリアされますが、してClearSelection()
も、列=>列の選択は...失われた
dataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];
Visual Basicでは、これを実行しての行を選択しますDataGridView
。選択した行は強調表示された色で表示されますが、カーソルの位置は変化しないことに注意してください。
Grid.Rows(0).Selected = True
これにより、カーソルの位置が変更されます。
Grid.CurrentCell = Grid.Rows(0).Cells(0)
上記の行を組み合わせると、カーソルが配置され、行が選択されます。これは、の行をフォーカスして選択するための標準的な手順ですDataGridView
。
Grid.CurrentCell = Grid.Rows(0).Cells(0)
Grid.Rows(0).Selected = True
DataGridView.Rows
.OfType<DataGridViewRow>()
.Where(x => (int)x.Cells["Id"].Value == pId)
.ToArray<DataGridViewRow>()[0]
.Selected = true;
<GridViewName>.ClearSelection(); ----------------------------------------------------1
foreach(var item in itemList) -------------------------------------------------------2
{
rowHandle =<GridViewName>.LocateByValue("UniqueProperty_Name", item.unique_id );--3
if (rowHandle != GridControl.InvalidRowHandle)------------------------------------4
{
<GridViewName>.SelectRow(rowHandle);------------------------------------ -----5
}
}
itemListは、グリッドビューで選択される行のリストです。
これを試して:
datagridview.Rows[currentRow].Cells[0];
datagridview.Rows[currentRow].Cells[0]
指定されたインデックス位置にあるセルを取得します。 これは質問で要求されたように特定の範囲の行をどのように選択するのですか?
データソースがある場合は、Selectメソッドを使用できます。http: //msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx
または、データソースにオブジェクトがある場合はlinqを使用します
read-only
-である場合SelectedRows.Clear()
は機能しません。