Réponses:
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: non testé):
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
SelectedRows.Clear()
seulement les lignes sélectionnées sont effacées, mais avec ClearSelection()
aussi les colonnes => les sélections de colonnes sont perdues ...
dataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];
Dans Visual Basic, procédez comme suit pour sélectionner une ligne dans un DataGridView
; la ligne sélectionnée apparaîtra avec une couleur en surbrillance mais notez que la position du curseur ne changera pas:
Grid.Rows(0).Selected = True
Faites ceci changer la position du curseur:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
La combinaison des lignes ci-dessus positionnera le curseur et sélectionnera une ligne. Voici la procédure standard pour la mise au point et la sélection d'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;
<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.
Essaye ça:
datagridview.Rows[currentRow].Cells[0];
datagridview.Rows[currentRow].Cells[0]
Obtient ... la cellule à l'emplacement d'index fourni. Comment cela sélectionne- t-il une plage particulière de lignes comme demandé dans la question?
Vous pouvez utiliser la méthode Select si vous disposez d'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
Lors de la définition d'une ligne sélectionnée d'un DataGridView au moment du chargement, envisagez de gérer cela dans l'événement DataBindingComplete, car il peut être remplacé par défaut.
read-only
- alorsSelectedRows.Clear()
ne fonctionnera pas.