Comment sélectionner une plage de lignes particulière dans un DataGridView
par programme lors de l'exécution?
Non testé, mais je pense que vous pouvez faire ce qui suit:
dataGrid.Rows[index].Selected = true;
ou vous pouvez faire ce qui suit (mais encore une fois: pas testé):
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
En Visual Basic, procédez comme suit pour sélectionner une ligne dans un fichier DataGridView
; la ligne sélectionnée apparaît avec une couleur en surbrillance, mais notez que la position du curseur ne changera pas:
Grid.Rows(0).Selected = True
Est-ce que cela change la position du curseur:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
La combinaison des lignes ci-dessus positionne le curseur et sélectionne une ligne. C’est la procédure standard pour focaliser et sélectionner une ligne dans un 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;
Essaye ça:
datagridview.Rows[currentRow].Cells[0];
<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
}
}
Où itemList est la liste des lignes à sélectionner dans la vue en grille.
Vous pouvez utiliser la méthode Select si vous avez une source de données: http://msdn.Microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx
Ou utilisez linq si vous avez des objets dans votre source de données