PARTE 3 – CAPITOLO 9 – RICH DATA CONTROLS
I RDC sono i componenti che più sono cambiati durante lo sviluppo del .NET Framework.
La GridView, già presentata qualche capitolo addietro, è una griglia molto flessibile per visualizzare i dati in una semplice tabella fatta di righe e colonne. Include molte caratteristiche come la selezione, la paginazione, l’ordinamento e la modifica (estendibili con i templates). La grande novità di GridView (rispetto al vecchio DataGrid) è il suo supporto agli scenari Code-free. Per avere un maggior controllo sulla definizione delle Colonne è necessario settare il parametro AutoGenerateColumns a “false” e definire manualmente le impostazioni nella sezione “<Columns>” del control tag della GridView. È possibile customizzare molti aspetti delle colonne usando i relativi comandi. È inoltre disponibile il comando “AutoFormat” per modificare l’aspetto di una GridView tramite una interfaccia grafica DataFormatString={0,XXX} serve per formattare correttamente le stringhe. È possibile usare la Row Selection per selezionare una particolare riga e l’evento SelectedIndexChanged per mostrare i dettagli. È possibile legare due GridView insieme (tipicamente generale/dettaglio) usando SelectedItem e DataKeyNames. Per utilizzare una riga già esistente come un link per la Row Selection basta aggiungere l’attributo ButtonField e impostare DataTextField al campo di riferimento (tipicamente l’ID). È possibile usare una colonna per ordinare i campi con l’attributo SortExpression e impostarlo con un campo. Se si fa un ordinamento mentre c’è una riga selezionata questa non viene mantenuta in memoria (alla fine del sorting verrà evidenziata una nuova riga con lo stesso id della precedente). Per ovviare al problema bisogna “ripulire” la selection per poi riapplicarla alla fine (memorizzando il valore della riga da selezionare). È possibile anche compiere sorting avanzati composti da due o più campi. Il metodo statico Eval() permette di ottenere automaticamente i dati della riga corrente, usando la reflection per trovare il field corretto.
La ListView (nuovo controllo introdotto nella versione 3.5 del Framework) è un componente estremamente flessibile capace di “rendere” il suo contenuto basandosi sul template definito. Con GroupItemCount posso “allineare” le tabelle in base ad un numero di valori per riga predefiniti. È possibile usare il Paging anche con questo componente.
DetailsView e FormView sono componenti sviluppati con lo scopo di visualizzare un particolare e singolo record di una lista. Supportano pulsanti di navigazione per passare da un record all’altro. Entrambi supportano i templates (la FormView li richiede necessariamente). Un’altra differenza tra i due componenti è che DV mostra i dati in una tabella, mentre la FV permette di gestire con più flessibilità la rappresentazione dei dati.
La DetailsView mostra i valori degli attributi dell’oggetto su righe separate. I nomi dei campi vengono ottenuti grazie alla reflection, ma possono essere editati nel campo “<Field></Field>” usando BoundField. Sono supportate le azioni di Delete, Insert e Edit, ma non vengono gestiti tramite i controlli ma grazie alle proprietà AutogenerateEditButton.
La FormView rispetta il modello TemplateField della GridView e permette di aggiungere (come la DV) i bottoni per i comandi SQL.
Entrambi i componenti possono operare in Read-Only, Insert e Edit mode.
Usando BinaryWrite() è possibile (anche se spesso non è conveniente) prelevare dati binari (tipicamente una immagine) da database.
Una risposta a “HowTo – Guida ASP.NET (Parte 9)”
[…] puntata della mini-guida ad […]