如何在运行时以编程方式选择DataGridView
中的特定行范围?
没有经过测试,但我认为你可以这样做:
dataGrid.Rows[index].Selected = true;
或者你可以按照以下方式操作(但是再次强调:未经测试):
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
在Visual Basic中,要选择一个DataGridView
中的一行,请执行以下操作;所选行将以突出显示的颜色出现,但请注意,光标位置不会改变:
在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
.Cells(x)
中引用的任何列都必须是Columns(x).Visible = True
,否则会出错。 使用DataGridView.FirstDisplayed查找第一项。 - ourmandaveDataGridView.Rows
.OfType<DataGridViewRow>()
.Where(x => (int)x.Cells["Id"].Value == pId)
.ToArray<DataGridViewRow>()[0]
.Selected = true;
试一下这个:
datagridview.Rows[currentRow].Cells[0];
datagridview.Rows[currentRow].Cells[0]
获取提供的索引位置处的单元格。但是,这如何选择所请求的特定行范围呢? - dbc <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是要在网格视图中选择的行的列表。
试试这个:
DataGridViewRow row = dataGridView1.Rows[index row you want];
dataGridView1.CurrentRow = row;
SelectedRows.Clear()
将无法正常工作。 - Derek WSelectedRows.Clear()
只会清除选定的行,但是使用ClearSelection()
也会清除列=>列选择也会丢失... - Christoph FinkdataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];
。 - Timeless