2009-10-29 5 views
1

lorsque je le fais:DataGridViewRow Opération de sélection

DataGridViewRow.Rows [index] .Selected = true;

il sélectionne cependant la ligne, mais le curseur (focus) est toujours orientée à la ligne précédente ..

Quand j'entrer manuellement en mode édition .. il met en évidence la cellule de row..not précédente sur la ligne qui fait par le codage .. Cependant quand je sélectionne la rangée par la souris alors le curseur (focus) et la sélection fonctionne correctement ...

Comment devrais-je sélectionner manuellement la rangée de datagridvie ??

Répondre

1

En ce qui concerne votre deuxième question, il suffit de définir la FirstDisplayedScrollingRowIndex du DataGridView à l'index de votre ligne.

2

Vous définissez le focus en définissant la propriété CurrentCell du DataGridView réel. La sélection de ligne est indépendante du focus du contrôle. Voici comment vous devez définir l'objet: « Si je suis d'ajouter une ligne comment dois-je faire défiler la DataGridView afin que la ligne nouvellement ajoutée est dans la zone visible »

DataGridView1.Focus(); 
DataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect; 
DataGridView1.CurrentCell = DataGridView1[rowIndex,cellIndex]; 
+0

Merci pour la solution ... Encore une chose que je dois demander, si j'ajoute une ligne comment shoulg je fais défiler le dataagridview de sorte que la ligne nouvellement ajoutée est dans la zone visible? –