Ho un controllo XtraGrid in un Windows Form, legata ad un oggetto fissato come segue:XtraGrid non rinfrescante dopo gli aggiornamenti alla sua fonte di dati
clientListBindingSource.DataSource = ObjectContext.Clients;
Dove ObjectContext è un contesto EF normale. Per modificare un cliente, passo Client
oggetto della riga selezionata al mio modulo di modifica, e ottenere salvare le modifiche come segue:
var rows = mainView.GetSelectedRows();
var editClient = ((Client)mainView.GetRow(rows[0]));
var editForm = new ClientDetailForm
{
EditClient = editClient
};
var result = editForm.ShowDialog();
if (result == DialogResult.OK)
{
ObjectContext.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);
clientGrid.RefreshDataSource();
}
Variazioni faccio sotto forma di modifica persistono al DB, ma ho provato diversi modi di cercando di ottenere l'aggiornamento della griglia, e si rifiuta testardamente fino a quando non riavvio l'applicazione. Che cosa sto facendo di sbagliato?
che funziona, grazie, ma è un cervello po' morto per me che non altro, compreso il ' Il metodo RefreshDataSource' funziona. I controlli DevExpress sembrano essere un po 'indietro con le origini dati ED. – ProfK
A mio parere, un gridview non fa altro che visualizzare i dati. Un programmatore dovrebbe dirgli che l'origine dati è cambiata, in modo che possa visualizzare nuovamente i dati. Non so se DevExpress ha questa funzione o no, o dovremmo farlo manualmente. – jaselg