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
http://www.aspitalia.com/liste/usag/script.aspx?ID=302
#382 - Il controllo DataList
http://www.aspitalia.com/liste/usag/script.aspx?ID=382
#445 - La paginazione manuale con il DataSet di ADO.NET ed un Repeater
http://www.aspitalia.com/liste/usag/script.aspx?ID=445
La categoria System.Data:
http://www.aspitalia.com/ricerca/super.aspx?usag=1&azione=categoria&key=System.Data
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Per inserire un commento, devi registrarti alla nostra community.









Stampa
Snippet
Download 


