C# - wie kann ich aktualisieren DataGridView nach entfernen der Zeilen
In meinem code muss ich entfernen von Zeilen aus DataGridView nach einem wiederkehrenden Intervall, und so rufe ich folgende Funktion auf, wenn ein timer abläuft:
private void removeRows(DataGridView dgv) {
foreach (DataGridViewRow row in dgv.Rows)
{
//if some condition holds
dgv.Remove(row);
}
dgv.Refresh();
}
Ich weiß, werden die Zeilen erfolgreich gelöscht, aus dem DataGridView, obwohl Sie immer noch in den display-aus welchem Grund auch immer. Irgendwelche Tipps, was ich tun könnte falsch?
InformationsquelleAutor sa125 | 2009-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie das datagrid gebunden, um eine Beobachtbare Sammlung (wenn nicht, dann sollten Sie), dann müssen Sie implementieren, die INotifyCollectionChanged-Schnittstelle, so dass die Zuhörer informiert werden, dynamische Veränderungen, wie etwa, wenn Elemente Hinzugefügt und entfernt werden oder die gesamte Liste aktualisiert wird.
HTH
Hallo, wenn Sie Bearbeiten Sie Ihre post und fügen Sie einige Informationen darüber, wie Sie sind, bevölkern Sie eine Datenquelle, dann kann ich dir weiterhelfen kann mit paar Tipps. Cheers.
InformationsquelleAutor Anand Shah
Nicht, müssen Sie erneut binden, das Daten grid?
?
InformationsquelleAutor Jack Marchetti
Manchmal eine Aktualisierung der Daten gridview ist nicht genug, und die Eltern sollten aktualisiert werden, auch.
Versuchen Sie dies:
Könnten Sie auch Bearbeiten Sie Ihre Quelle an und befestigen Sie die neue Datenquelle, um die Kontrolle.
InformationsquelleAutor Raúl Roa
Wenn ich Sie richtig verstehe, wollen Sie Zeilen löschen von einem Benutzer ausgewählt von Ihrem DGV.
Verwenden Sie die DataGridViewRowCollection Ihrer DGV statt der DataRowCollection der DataTable. Die DataGridViewRow hat die Selected-Eigenschaft, die angibt, ob eine Zeile ausgewählt ist oder anderweitig.
Sobald Sie festgestellt haben, dass eine Zeile gelöscht werden, können Sie die Remove-Methode aus der DataGridViewRowCollection löschen Sie den Artikel aus dem Netz, z.B. YerDataGridView.Zeilen.Entfernen(Zeile)
Beachten Sie, dass an diesem Punkt das Element ist zwar entfernt von der DGV, es hat immer noch nicht gelöscht wurde aus der Access-DB. Sie müssen rufen Sie den TableAdapter-Update-Methode auf Ihr DataSet/DataTable zu verpflichten, die Löschungen der DB, z.B. YerTableAdapter.Update(YerDataSet)
Ich normal nennen würde-Update ist, einmal zu Begehen, nicht nur die änderungen, nachdem entfernt alle Elemente, die gelöscht werden aus dem DGV.
InformationsquelleAutor Sam Casil
Wenn es ein data-bound grid, sollten Sie die Arbeit auf die Bindung der Quelle selbst, statt des Gitters.
InformationsquelleAutor Austin Salonen
dieser code nützlich sein könnte:
Hoffe, das hilft.
InformationsquelleAutor TK Mphahlele
Versuchen Sie, die tatsächlichen Elemente aus Ihrer Bindung Quelle statt.
InformationsquelleAutor dell