Ho un DataGrid WPF con alcuni dati. È possibile aggiungere righe attraverso una finestra separata. DataContext è lo stesso, un oggetto LINQ-to-SQL. Anche il binding è lo stesso, lego la proprietà "ItemsSource" a una tabella.Come aggiornare un DataGrid WPF?
Nell'altra finestra, quando l'utente fa clic su "Salva", creo una riga in modo programmatico e la aggiungo utilizzando "InsertOnSubmit". Successivamente utilizzo il metodo "SubmitChanges" di DataContext.
Il mio problema è che DataGrid non viene aggiornato. Se riavvio l'applicazione posso vedere la nuova riga, quindi è nel database, ma non ho trovato un modo per aggiornare il DataGrid.
Finora ho provato a utilizzare "UpdateTarget" su BindingExpression di DataGrid, ma non è stato di aiuto. Ho anche provato "dataGrid.Items.Refresh()" - stesso risultato. Come posso risolvere questo?
La soluzione è ovviamente funzionante. Ho solo pensato che potevo farla franca con un semplice markup di binding XAML. – KovBal
Se usiamo ObservableCollection come bridge tra linq e sql e il controllo, come possiamo utilizzare SubmitChanges() per postback del risultato nel database? – MemoryLeak
@MemoryLeak - quindi ecco la parte difficile; non solo vuoi sapere quando la * collezione * cambia (ad esempio, cosa è INotifyCollectionChanged), vuoi anche sapere quando uno qualsiasi degli * articoli * cambia. Quindi è necessario iscriversi alla modifica della raccolta, quindi aggiungere/rimuovere, iscriversi a INotifyPropertyChanged di ciascun elemento. * Quindi * devi decidere cosa salvare in base alle notifiche che ricevi –