J'ai un formulaire avec un DataGridView lequel DataSource est une BindingSource à une table. Cette vue aura une sélection de ligne unique et un bouton à supprimer, éditera la ligne sélectionnée actuelle dans un formulaire de popup et un bouton d'insertion qui utilisera également le même formulaire.Synchroniser un formulaire WinForm avec DatagridView
Ma question est comment puis-je synchroniser le formulaire pop avec la ligne en cours?
J'ai essayé d'utiliser l'événement RowStateChanged pour obtenir et stocker la ligne sélectionnée en cours d'utilisation dans le formulaire mais je coudnt. Après l'événement, je reçois la ligne qui a été sélectionnée auparavant. Autre chose que je ne comprends pas encore en C# comment avoir un seul recordSet et savoir quel est l'enregistrement en cours même si c'est un nouveau être inséré d'une manière qu'une fois dans le formulaire toutes les données entrées apparaîtront au même heure dans le DataGridView.
Vous l'avez, merci beaucoup. J'ai fait la chose et ça marche bien. Je ne sais pas encore comment valider mes changements et aussi, le test que j'ai fait, la nouvelle ligne ajoutée montre juste certaines valeurs du formulaire une fois qu'il est éliminé mais quand une autre ligne est sélectionnée, les valeurs sont là. –
Dans la plupart des cas, les modifications sont validées chaque fois que 'Position' change, c'est-à-dire lorsque l'utilisateur passe à une autre ligne. Vous pouvez explicitement valider les modifications en attente sur la ligne en cours en appelant 'EndEdit' sur' BindingSource'. (Et vous pouvez les annuler en appelant 'CancelEdit'.) Dans la mesure où l'ajout d'une nouvelle ligne va: quand une nouvelle ligne est ajoutée, chaque colonne de la nouvelle ligne est remplie avec tout' DefaultValue' défini dans son 'DataColumn '. Ensuite, il est ajouté à la liste et tous les contrôles liés au complexe sont informés que la nouvelle ligne existe et qu'ils l'affichent. –