如何在运行时以编程方式选择 DataGridView中特定范围的行?
DataGridView
如果有数据源,可以使用 Select 方法: Http://msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx
如果数据源中有对象,则使用 linq
没有经过测试,但我认为你可以做到以下几点:
dataGrid.Rows[index].Selected = true;
或者你可以做以下事情(但同样: 未经测试) :
dataGrid.SelectedRows.Clear(); foreach(DataGridViewRow row in dataGrid.Rows) { if(YOUR CONDITION) row.Selected = true; }
DataGridView.Rows .OfType<DataGridViewRow>() .Where(x => (int)x.Cells["Id"].Value == pId) .ToArray<DataGridViewRow>()[0] .Selected = true;
在 VisualBasic 中,这样做可以在 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
<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];
DataGridViewRow row = dataGridView1.Rows[index row you want]; dataGridView1.CurrentRow = row;
希望这有帮助!