my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Libro WP7
|
Libro HTML5
|
Corso on-site HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Lab
Media
Tutorials
Corsi
Libri
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Entity Framework - WPF e Calculated Field
in
.NET Framework
>
Windows Presentation Foundation e WinForms
Ultimo messaggio
TheMatrix71
il 19 marzo 2010 alle 11:01
3 messaggi
dal 18 febbraio 2009
Buon giorno a tutti, dopo mesi di lettura di libri vari su EF, WPF e C# sto sperimentando una semplice applicazione per uso personale che si appoggia ad un database SQL Compact, nel quale ho creato una semplice tabella dove tra i vari campi ce n'e' uno che rappresenta un costo unitario e l'altro una quantità e nel form WPF visualizzo anche il totale calcolato moltiplicando questi due.
Il form WPF è composto da una ListBox nella quale al Load della finestra vengono "bindati" i dati tramite una ObservableCollection nella quale i dati sono stati caricati dal database prima in una List<>.
Ci sono poi dei textbox "bindati" con la ListBox per poter editare i valori in base alla riga selezionata nella ListBox ed un TextBlock per visualizzare il campo calcolato.
Ho esteso la classe parziale dell'oggetto EF aggiungendo la proprietà calcolata mettendo nel "getter" return costounitario * quantità.
Al momento della lettura dei dati dal database tutto funziona, i campi vengono calcolati e sono OK, ma se nei textbox modifico o il costo unitario o la quantità il totale non mi viene aggiornato.
Non so come fare a sfruttare i metodi onCostoUnitarioChanged() oppure onQuantitàChanged() che vengono creati dal designer di EF quando si genera il modello EDMX, per aggiornare in tempo reale il totale calcolato.
Probabilmente è una stupidaggine ma ci sto combattendo ormai da parecchie ore.
Grazie in anticipo per un aiuto.
Rispondi
Quoting
Ricciolo
il 19 marzo 2010 alle 11:42
5.514 messaggi
dal 26 febbraio 2001
Contributi
blogs.aspitalia.com
|
Blog
Per far sì che il campo calcolo si aggiorni occorre che venga scatenato OnPropertyChanged anche per tale proprietà. Se guardi il set dell'unitario o della quantità vedrai che viene scatenato l'evento per le rispettive proprietà. Ovviamente il motore non sa che la tua calcolata è il frutto delle due. Quindi usa i metodi partial e nei metodi On**Changed chiama ReportPropertyChanged("ProprietàCalcolata")
Ciao
Il mio blog
Homepage
Rispondi
Quoting
TheMatrix71
il 19 marzo 2010 alle 12:45
3 messaggi
dal 18 febbraio 2009
Grazie mille ... ho provato ma sbaglio ancora qualcosa ...
Dunque nell'estensione della classe dove ho inserito la mia proprietà calcolata ho scritto questo codice, seguendo le tue indicazioni:
// Proprietà calcolata
public int CostoTotale
{
get
{
return CostoUnitario * Quantita;
}
//richiamo il metodo parziale di quantità quando essa cambia
partial void OnQuantitaChanged()
{
ReportPropertyChanged("CostoTotale");
}
Quando cambio il valore della quantità nel textbox, il valore del CostoTotale sia nel TextBlock che nella riga della ListBox non si aggiorna.
Cosa manca ancora ?
Grazie in anticipo.
Rispondi
Quoting
TheMatrix71
il 19 marzo 2010 alle 14:46
3 messaggi
dal 18 febbraio 2009
Grazie Ricciolo.
Ho risolto .... bastava fare così:
partial void OnQuantitaChanged()
{
OnPropertyChanged("CostoTotale");
}
come immaginavo .... era una stupidaggine ... bastava saperlo!!
Saluti
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
Libri
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
E-commerce
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Rilasciato il bollettino MS11-100 per risolvere i problemi di attacchi DoS di ASP.NET
I più letti di oggi
Preview 2 di ASP.NET MVC 2.0 ed una nuova versione per AJAX Control Toolkit
.NET Campus: Creare applicazioni veloci e user-friendly con jQuery, Microsoft AJAX Library e ASP.NET
Creazione di un alarm con suono personalizzato con Windows Phone 7.1
Microsoft lancia Windows 7 e Office 14
Paginare con i numeri di pagina un datagrid
Proteggersi da attacchi di SQL e code injection con ASP
Contare i record restituiti da una query
Concorso Windows Phone: AppLoad and win!
Ereditarietà degli Style in Silverlight
Formattazione automatica dei TextBlock
Media
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
Tutti i media
In evidenza
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Sviluppare applicazioni per Windows Phone: scopri come fare con il nostro nuovissimo libro!
Sviluppa le applicazioni del futuro oggi: impara con il nostro libro HTML5 Espresso!
Community Days 2012 - Milano
Visualizzare un template per browser mobile tramite un custom control ASP.NET
Windows 8 su ARM: avrà il desktop, Office e il connected standby
Rilasciato Entity Framework 4.3
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network