Refresh DataGrid după ștergere (WPF)

Actualizarea DataGrid după ØTERGERE (WPF) -12

  • 10.03.16 08:28 •
  • SbWereWolf •
  • • # 279011
  • • Habrahabr
  • Tutorial •
  • 15 •
  • 1500

- cum ar fi Forbes, doar mai bine.

avertisment


qw1 a dat koment la prezentarea materialului:
decizie rău set de date pentru WPF-aplicație.
În general, arhitectura proiectului este îngrozitor - o mulțime de cod în spatele, este mai bine să utilizați MVVM pură.

Pentru încărcarea datelor din baza de date trebuie să îndeplinească un strat de acces la date (DAL).
Datele sunt încărcate într-un ObservableCollection, care este numit ca ItemsSource în DataGrid.
comenzi de manipulare a datelor cauza DAL pentru a șterge înregistrarea din baza de date și în același timp elementul curat din colecția.
Concluzie: Actualizarea mod Datagrid nu poate fi descrisă în articol, dar dacă vrei cu adevărat, poți - doar inpuli arhitecturii aplicatiei.

scaunul de probleme


Walkthrough sau orice altceva pe butonul „Delete“ nu a spus că a fost motivul pentru adăugarea tuturor relelor.
Au început ciudățenie:
  • deschide aplicația
  • în DataGrid placa încărcate automat
  • apăsați pe butonul «DELETE»
  • și că nu se produce!

Dacă deschideți din nou aplicația, atunci da, înregistrarea nu există - adică, înregistrarea a fost ștearsă, dar nu trage DataGrid.

soluţii de căutare


Privit de la în metodele DataGrid «Refresh» și surprinzător, dintre care nici unul nu părea să-l găsească.
Am întrebat Google «reîmprospătare Datagrid WPF c #».

Reset ItemsSource

Atribuirea ItemsSource în cazul în care nu am scris și am avut nici o idee în cazul în care acest lucru ar putea fi - această opțiune nu este potrivit.

ItemsSource = ""
nici orice ItemsSource.

afișare Actualizează

În cazul în care dataProvider mine și orice ar fi ar fi, am fost din nou nici o idee.
A doua opțiune:

Era deja clar, am încercat:


Nici unul dintre care nu sa schimbat - rezultatul dorit nu a dovedit, OK, continui să cauți.
Cum mi-am căutat peste tot acolo a fost o opțiune pentru a reseta și atribuire ItemsSource. A existat o altă opțiune cu „INotifyPropertyChanged Interface“, dar pentru mine este foarte pădure deasă.


Am păstrat până în căutarea Fortune nu zâmbet la mine, link-ul podsunuv [RESOLVED] Refresh DataGridView după adăugarea / ștergerea înregistrărilor. în cazul în care a fost în alb-negru:

Apoi, conduce la mine, că datele ar trebui să fie citite în sensul unui nou pour:

Verificat - out.
Pentru mintea mea de re-lectură a setului de date este un mod mai „civilizat“ decât resetarea și setarea ItemsSource.
PS
Cu WPF, n-am devenit prieteni.