Nello script #96 (https://www.silverlightitalia.com/script/96/Paginazione-Reale-Dati-Controllo-DomainDataSource-Silverlight-4.0.aspx) abbiamo visto come il controllo DomainDataSource possa essere utilizzato come elemento di raccordo tra i servizi esposti con Wcf Ria Services e un client Silverlight, per interrogare i dati, eseguirne paginazione e altro.
Nel contesto di inserimento o modifica di dati, come di consueto, per concretizzare le operazioni dobbiamo eseguire il "commit" sul DomainContext, affinchè questo possa inizializzare le operazioni sul servizio e di conseguenza sul database.
Anche in questo caso il controllo DomainDataSource ci può semplificare il codice poichè espone una proprietà SubmitChangesCommand, di tipo ICommand, che può essere messa in binding con una proprietà Command di un pulsante, o altro.
<Button Command="{Binding ElementName=AdventureWorksDomainDataSource, Path=SubmitChangesCommand}"
Content="Submit" />
<riacontrols:DomainDataSource x:Name="AdventureWorksDomainDataSource"
QueryName="GetCustomers"
PageSize="10"
LoadSize="20">
<riacontrols:DomainDataSource.DomainContext>
<web:AdventureWorksDomainContext />
</riacontrols:DomainDataSource.DomainContext>
</riacontrols:DomainDataSource>In questo modo, grazie alla sintassi di binding "element to element" il codice è molto conciso e funzionale: infatti l'implementazione di SubmitChangesCommand prescrive l'esecuzione del commit, con il CanExecute, alla presenza di modifiche dei dati collegati al DomainContext oltre chè ad una richiesta di commit "in corso".
Questo significa che il pulsante non sarà attivo fino alla modifica di qualche valore e diventerà inattivo a seguito della pressione, evitando automaticamente inutili richieste.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare WebJobs su Linux con Azure App Service
Gestione delle scrollbar dinamiche in HTML e CSS
Utilizzare i variable font nel CSS
Integrazione di Copilot in .NET Aspire
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Ridimensionamento automatico input tramite CSS
Configurare lo startup di applicazioni server e client con .NET Aspire
Ospitare n8n su Azure App Service
Definire il colore di una scrollbar HTML tramite CSS
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Utilizzare Container Queries nominali
Gestione CSS in Blazor con .NET 9
I più letti di oggi
- Rilasciata la versione 1 del Kinect for Windows SDK: ecco tutte le novità
- Ci sarà Visual Studio 2012 Express for Windows Desktop
- Usare lo spread operator con i collection initializer in C#
- Kinect for Windows SDK 1.7 aggiunge il supporto al 3D
- Utilizzare la libreria Benchmark.NET per misurare la memoria utilizzata
- Annunciata la licenza commerciale di Kinect for Windows: dal primo febbraio 2012
- Le novità di Azure da TechEd 2013 North America: fatturazione per minuto, BizTalk Services e nuovi benefit per abbonati MSDN
- Usare le collection expression per inizializzare una lista di oggetti in C#
- Utilizzare la libreria Benchmark.NET per misurare le performance
- Utilizzare i primary constructor di C# per inizializzare le proprietà


