2017-10-12 16 views
-1

Dans mon application Winforms, j'ai un formulaire qui contient une vue datagrid avec une colonne de case à cocher. Si je coche un ou plusieurs éléments de la case à cocher, puis que je modifie un autre contrôle du formulaire (en dehors de la vue datagrid), les cases à cocher ne sont pas cochées. Toute aide serait appréciée. Merci.Les cases à cocher Datagridview perdent des chèques

Plus de détails: La liaison sous-jacente pour les éléments cochés fonctionne correctement, car les valeurs sont stockées et les états vérifiés sont corrects lorsque le formulaire est rechargé. Ceci est juste un problème visuel.

En outre, la valeur de case à cocher n'est jamais définie par programme sur false dans le code. Les fausses valeurs proviennent uniquement de la liaison ou ne sont pas cochées manuellement.

+0

Sans code, il est impossible d'y répondre. Aucune idée de ce que vous faites. – DonBoitnott

+0

'C'est juste un problème visuel. 'Probablement pas. – LarsTech

+0

Quiconque a annulé cette question, sachez que j'ai répondu à ma propre question après un effort de recherche approfondi de ma part, à la fois sur de nombreuses pages Web et en révisant et en remaniant mon propre code. Si vous avez trouvé la question inutile, c'est juste votre opinion. Si vous avez trouvé que cela n'était pas clair, veuillez passer en revue mes modifications et répondre, puis, si vous avez toujours cette opinion, demandez des éclaircissements appropriés. Ne pas juste downvote. – markysdad

Répondre

0

Pourriez-vous faire un "Invalidate()" sur la colonne pour voir si un rafraîchissement change quelque chose? Sans code, nous devons diviser le problème arbitrairement.

+0

Les réponses n'ont généralement pas de point d'interrogation. Cela devrait probablement être un commentaire. – LarsTech

1

Redessiné la reliure et maintenant il fonctionne bien. Était précédemment en train de gérer une liste de sélections dans l'objet métier et de cocher les cases en fonction des sélections. Maintient maintenant une propriété "selected" dans l'objet métier et lie de manière appropriée.

Problème manifesté comme décrit en raison de la nature des événements générés par l'édition de case à cocher (apparemment). L'événement de modification de la source de liaison ne s'est pas déclenché lorsque vous cliquez sur la case à cocher (car elle n'était pas liée). Il ne s'est produit qu'une fois l'édition terminée sur un autre contrôle.