以编程方式在DataGridView中选择一行

本文关键字:一行 选择 编程 方式 DataGridView | 更新日期: 2023-09-27 17:58:38

如何在运行时以编程方式选择DataGridView中的特定行范围?

以编程方式在DataGridView中选择一行

未测试,但我认为您可以执行以下操作:

dataGrid.Rows[index].Selected = true;

或者您可以执行以下操作(但再次:未测试):

dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
    if(YOUR CONDITION)
       row.Selected = true;
}

在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
    }
  }
  1. 清除以前的所有选择
  2. 循环遍历网格中需要选择的行
  3. 从网格中获取它们的行句柄(请注意,网格已经用新行更新)
  4. 正在检查行句柄是否有效
  5. 当行句柄有效时,选择它

其中itemList是要在网格视图中选择的行的列表。

试试这个:

datagridview.Rows[currentRow].Cells[0];

如果有数据源,可以使用Select方法:http://msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx

或者,如果数据源中有对象,请使用linq

试试这个:

DataGridViewRow row = dataGridView1.Rows[index row you want];
dataGridView1.CurrentRow = row;

希望得到帮助!