C# - comment puis-je actualiser DataGridView après la suppression de lignes
Dans mon code j'ai besoin de supprimer des lignes de la DataGridView après un intervalle périodique, et j'ai donc appeler la fonction suivante lorsqu'une minuterie expire le:
private void removeRows(DataGridView dgv) {
foreach (DataGridViewRow row in dgv.Rows)
{
//if some condition holds
dgv.Remove(row);
}
dgv.Refresh();
}
Je sais que les lignes soient supprimés de la DataGridView, bien qu'ils restent dans l'affichage pour quelque raison que ce soit. Des conseils sur ce que je fais de mal?
OriginalL'auteur sa125 | 2009-10-13
Vous devez vous connecter pour publier un commentaire.
Si vous avez lié votre grille de données pour une Collection Observable (si non, alors vous devriez le savoir), alors vous aurez besoin de mettre en œuvre INotifyCollectionChanged interface de sorte que les auditeurs sont informés des changements de dynamique, comme lorsque des éléments sont ajoutés et supprimés ou l'ensemble de la liste est actualisée.
HTH
Salut, si vous éditez votre post et ajouter quelques infos sur la façon dont vous remplissez votre source de données, puis peut-être je peux vous aider avec quelques conseils. Des acclamations.
OriginalL'auteur Anand Shah
N'avez-vous pas besoin de relier les données de la grille?
?
OriginalL'auteur Jack Marchetti
Parfois à l'actualisation de la gridview n'est pas assez et son contenant parent doit être actualisé.
Essayez ceci:
Vous pouvez également modifier votre source et de fixer la nouvelle source de données pour le contrôle.
OriginalL'auteur Raúl Roa
Si je vous comprends bien, vous voulez supprimer les lignes sélectionnées par un utilisateur à partir de votre DGV.
Utiliser le DataGridViewRowCollection de votre DGV plutôt que de le DataRowCollection de la DataTable. Le DataGridViewRow a la propriété selected qui indique si une ligne est sélectionnée ou non.
Une fois que vous avez déterminé qu'une ligne est supprimée, vous pouvez utiliser la méthode Remove de la DataGridViewRowCollection pour supprimer l'élément de la grille, par exemple YerDataGridView.Les lignes.Supprimer(ligne)
Notez qu'à ce stade, bien que l'élément est retiré de la DGV, il n'a toujours pas été supprimé à partir de l'Access DB. Vous devez appeler le TableAdapter méthode de mise à Jour sur votre DataSet/DataTable à commettre les suppressions à la DB, par exemple YerTableAdapter.Mise À Jour(YerDataSet)
Normalement, je voudrais appeler à Jour une fois pour valider les modifications qu'après avoir supprimé tous les éléments supprimés à partir de la DGV.
OriginalL'auteur Sam Casil
Si c'est lié aux données de la grille, vous devez travailler sur la source de liaison lui-même au lieu de la grille.
OriginalL'auteur Austin Salonen
ce code pourrait être utile:
Espère que cette aide.
OriginalL'auteur TK Mphahlele
Essayez de supprimer les articles réels à partir de votre source de liaison à la place.
OriginalL'auteur dell