Finora abbiamo sempre visto QuickGrid dal punto di vista della consultazione dati. Questo perché, fondamentalmente, questa griglia è un componente read only, senza supporto nativo alla scrittura.
Tuttavia, se dobbiamo creare delle pagine CRUD piuttosto standard e se stiamo utilizzando Entity Framework (e pertanto siamo in un contesto di Server Interactivity), possiamo usare lo scaffolding di Visual Studio per generare queste pagine automaticamente.
Con un click sul tasto destro su una directory qualsiasi del progetto Blazor, dobbiamo selezionare Add -> New Scaffolded Item, e successivamente Razor Pages using Entity Framework:
Nella successiva pagina del Wizard, dobbiamo indicare quale entity vogliamo gestire e, ovviamente, il DbContext da utilizzare:
A questo punto, lo scaffolder creerà una serie di pagine per le tipiche operazioni CRUD: Index, Edit, Create, Details e Delete.
Per esempio, la pagina Index conterrà la lista delle nostre entity, ovviamente basata su QuickGrid - e che potremo personalizzare secondo le nostre necessità:
@page "/shares" @using Microsoft.AspNetCore.Components.QuickGrid @inject BlazorQuickGrid.Data.MyContext DB @using BlazorQuickGrid.Data <PageTitle>Index</PageTitle> <h1>Index</h1> <p> <a href="shares/create">Create New</a></p> <QuickGrid Class="table" Items="DB.Shares"> <PropertyColumn Property="share => share.CompanyName" /> <PropertyColumn Property="share => share.Value" /> <TemplateColumn Context="share"> <a href="@($"shares/edit?id={share.Id}")">Edit</a> | <a href="@($"shares/details?id={share.Id}")">Details</a> | <a href="@($"shares/delete?id={share.Id}")">Delete</a> </TemplateColumn> </QuickGrid>
Il risultato finale, seppure magari un po' semplicistico, ci permette di risparmiare un sacco di tempo ed è comunque funzionale - per esempio - per realizzare velocemente un back office:
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare QuickGrid di Blazor con Entity Framework
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Usare le navigation property in QuickGrid di Blazor
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Configurare lo startup di applicazioni server e client con .NET Aspire
Ottenere un token di accesso per una GitHub App
Eseguire i worklow di GitHub su runner potenziati
Escludere alcuni file da GitHub Secret Scanning
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Paginare i risultati con QuickGrid in Blazor
Ottimizzazione dei block template in Angular 17
I più letti di oggi
- Supportare la sessione affinity di Azure App Service con Application Gateway
- Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Gli oggetti CallOut di Expression Blend 4.0
- Eseguire managed code con XSLT
- Introduzione ad ASP.NET 5
- Configurare lo startup di applicazioni server e client con .NET Aspire
- Conoscere il rendering Server o WebAssembly a runtime in Blazor
- Più sezioni di configurazione attraverso il nodo <configSections /> del web.config