Il databinding ed i controls che lo supportano, come DataGrid, DataList e Repeater, sono davvero utili, perchè permettono di associare i dati estratti da una fonte qualsiasi in maniera ciclica, con una pulizia del codice elevata ed una separazione reale tra codice e sua rappresentazione.
Quello che molti non sanno è che si può passare il valore di una delle colonne del container ad una funzione esterna, per formattazioni o calcoli.
In questo esempio la funzione è molto banale: restituisce un'immagine con una GIF particolare se il valore del campo è true, un'altra se il valore del campo è false.
Ovviamente, ci sono utilizzi più avanzati (e forse utili) di quello presentato, ma il concetto non si distacca di una virgola.
<%@ Import Namespace="System.Data"%> <%@ Import Namespace="System.Data.SQLClient"%> <SCRIPT LANGUAGE="VB" RUNAT="SERVER"> Sub Page_Load(sender As Object, e As EventArgs) ' caricamento dei dati dal database End Sub Function Immagine(valore as Boolean) as String If valore = true then Return "<img src=""approvato.gif"">" Else Return "<img src=""bloccato.gif"">" End If End Function </SCRIPT> <asp:repeater id="queryres" runat="server"> <itemTemplate> <%#Container.DataItem("Nome")%> <%#Immagine(Container.DataItem("Approvato"))%> </itemTemplate> </asp:repeater>
Per approfondimenti sul databinding:
#302 - Data binding con ADO.NET
https://www.aspitalia.com/liste/usag/script.aspx?ID=302
#382 - Il controllo DataList
https://www.aspitalia.com/liste/usag/script.aspx?ID=382
#445 - La paginazione manuale con il DataSet di ADO.NET ed un Repeater
https://www.aspitalia.com/liste/usag/script.aspx?ID=445
La categoria System.Data:
https://www.aspitalia.com/ricerca/super.aspx?usag=1&azione=categoria&key=System.Data
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Creare una libreria CSS universale: Cards
- Eseguire script pre e post esecuzione di un workflow di GitHub