Dans mon code, je dois supprimer des lignes de la DataGridView après un intervalle récurrent, puis j'appelle la fonction suivante lors de l'expiration d'une minuterie:
7 Réponses :
Vous n'avez pas besoin de reculer la grille de données?
dgrv.Datasource = [whatever data source]; dgrv.DataBind();
DataGridView est une commande WinForms, donc la base de données n'est pas nécessaire. Si c'était ASP .NET, dans son exemple enlever les rangées n'affecte pas la source de données. Par conséquent, cela fera que la grille affichera les mêmes données avant de les supprimer.
Si c'est une grille liée à des données, vous devez travailler sur la source de liaison elle-même au lieu de la grille. P>
Si vous avez lié votre DataGrid à une collection observable (sinon, vous devriez alors), vous devrez mettre en œuvre une interface d'échec de l'inotifyCollection afin que les auditeurs soient informés des modifications dynamiques, telles que lorsque les éléments sont ajoutés et supprimés ou que toute la liste est rafraîchi. p>
htth p>
désolé, pas familier avec ça (c # novice). Pourriez-vous développer un peu? Merci.
Bonjour, si vous éditez votre message et ajoutez des informations sur la manière dont vous remplissez votre DataSource, puis peut-être que je peux vous aider avec certains pointeurs. Acclamations.
Parfois rafraîchissant la grille de données n'est pas suffisant et que son parent contenant doit être rafraîchi aussi.
Essayez ceci: P>
dgv.Refresh(); // Make sure this comes first dgv.Parent.Refresh(); // Make sure this comes second
Essayez de supprimer les éléments réels de votre source de liaison à la place. P>
Si je vous comprends correctement, vous souhaitez supprimer des lignes sélectionnées par un utilisateur de votre DGV. p>
Utilisez le dataGridViewCollection de votre DGV plutôt que le datarswCollection du jeu de données. Le DATAGRIDViewRow a la propriété sélectionnée qui indique si une ligne est sélectionnée ou non. P> li>
Une fois que vous avez déterminé qu'une ligne doit être supprimée, vous pouvez utiliser la méthode Supprimer de la DataGridViewCollection pour supprimer l'élément de la grille, par exemple. Yerdatagridview.rows.remove (rangée) p> li>
Notez qu'à ce stade, bien que l'article soit supprimé de la DGV, il n'a toujours pas été supprimé de l'accès DB. Vous devez appeler la méthode de mise à jour du TableAdapter sur votre jeu de données / databiliable pour valider les suppressions à la DB, par exemple. Yertableadapter.update (Yerdataset) P> Li> ol>
i Normalement appelerais Mettre à jour une fois pour commettre les modifications seulement après avoir supprimé tous les éléments à supprimer de la DGV. P>
Ce code pourrait être utile: espère que cela aide. p> p>