Je ne suis pas sûr de ce que vous essayez de faire. Je crois que vous voulez être en mesure de sélectionner une ligne dans un DataGridView, faire quelque chose pour ouvrir une boîte de dialogue avec un autre DGV qui a le même enregistrement et sélectionnez cet enregistrement dans la boîte de dialogue.
Si c'est ce que vous voulez faire, alors vous devez faire deux choses: obtenir l'ID d'une ligne sélectionnée dans la DGV du formulaire principal, puis sélectionner par programme une ligne dans une autre DGV. Voici comment procéder:
Étape 1. Récupérez l'identifiant de la ligne sélectionnée dans le formulaire principal.
Quelque chose à peu près comme cela devrait fonctionner:
string id = dataGridView.SelectedRows[0].Cells[colIdColumn.Index].Value.ToString();
où:
a. La colonne qui a l'identifiant que vous mentionnez est nommée colIdColumn
b. Le type de données de id
est la chaîne
Après avoir validé l'ID, ouvrez votre boîte de dialogue et transmettez-lui l'ID. Lorsque la boîte de dialogue ouvre conitnue à l'étape 2.
Étape 2. Sélectionnez Programmatically une ligne sur un autre DataGridView
Regardez la méthode BindingSource.Find pour retourner l'indice qu'une valeur apparaît dans un BindingSource et regarder la propriété BindingSource.Position pour sélectionner un enregistrer dans un BindingSource.
Votre code pourrait ressembler à ceci:
// Get index of row with your id.
int index = yourBindingSource.Find("YourIdProperty", "Id");
yourBindingSource.Position = index;
espoir qui aide
Salut, merci pour la solution, mais j'ai entendu quelque chose comme le CurrencyManager, je ne peux pas l'utiliser à la place? – programmernovice