Respostas:
Não testado, mas acho que você pode fazer o seguinte:
dataGrid.Rows[index].Selected = true;
ou você pode fazer o seguinte (mas novamente: não testado):
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
SelectedRows.Clear()
apenas as linhas selecionadas são apagadas, mas com ClearSelection()
também as colunas => as seleções de coluna são perdidas ...
dataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];
No Visual Basic, faça isso para selecionar uma linha em um DataGridView
; a linha selecionada aparecerá com uma cor destacada, mas observe que a posição do cursor não mudará:
Grid.Rows(0).Selected = True
Faça isso, altere a posição do cursor:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
Combinar as linhas acima posicionará o cursor e selecionará uma linha. Este é o procedimento padrão para focar e selecionar uma linha em 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
}
}
Onde itemList é uma lista de linhas a serem selecionadas na visualização em grade.
Experimente isto:
datagridview.Rows[currentRow].Cells[0];
datagridview.Rows[currentRow].Cells[0]
Obtém ... a célula no local de índice fornecido. Como isso seleciona um determinado intervalo de linhas, conforme solicitado na pergunta?
Você pode usar o método Select se tiver uma fonte de dados: http://msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx
Ou use o linq se você tiver objetos em sua fonte de dados
Ao definir uma linha Selecionada de um DataGridView no momento do carregamento, considere lidar com isso no evento DataBindingComplete, porque ele pode ser substituído por padrão.
read-only
- entãoSelectedRows.Clear()
não funcionará.