Condividi tramite


Procedura: personalizzare elementi in modo dinamico nel controllo server Web DataList

Aggiornamento: novembre 2007

È possibile personalizzare elementi nel controllo DataList dinamicamente. Questa operazione risulta utile nel caso si desideri impostare le caratteristiche degli elementi in base alle informazioni disponibili in fase di esecuzione. In questo argomento sono contenuti due esempi in cui viene illustrato come personalizzare gli elementi in un controllo DataList.

Nel primo esempio di codice viene illustrato come personalizzare un singolo elemento senza coinvolgimento di dati. Vengono visualizzati diversi tipi di modelli con diversi colori di sfondo.

Nel secondo esempio di codice viene illustrato come personalizzare il contenuto di un elemento di controllo DataList sulla base dei dati in esso visualizzati. Nel codice viene esaminato il contenuto di un'etichetta con associazione a dati nell'elemento per estrarre una data (la data di nascita). Se il mese della data di nascita corrisponde a quello corrente, l'elemento verrà evidenziato utilizzando un colore.

Esempio

' Example 1
Private Sub DataList1_ItemCreated(ByVal sender As Object, _
        ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) _
        Handles DataList1.ItemCreated
    Select Case e.Item.ItemType
        Case ListItemType.Item
            e.Item.BackColor = Color.LightGoldenrodYellow
        Case ListItemType.AlternatingItem
            e.Item.BackColor = Color.DarkGoldenrod
        Case ListItemType.SelectedItem
            e.Item.BackColor = Color.Yellow
        Case Else
         ' Add code here to handle the header, footer, and
         ' separator templates.
    End Select
End Sub

' Example 2
Private Sub DataList1_ItemDataBound(ByVal sender As Object, _
        ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) _
        Handles DataList1.ItemDataBound
    Dim dob As DateTime
    Dim doblabel As Label
    doblabel = CType(e.Item.FindControl("Label1"), Label)
    dob = CType(doblabel.Text, DateTime)
    If dob.Month = Today.Month Then
        e.Item.BackColor = Color.Yellow
    End If
End Sub

Compilazione del codice

Requisiti:

Programmazione efficiente

Il modo più affidabile per estrarre il valore di un controllo nel modello di controllo DataList è il seguente:

  1. Assegnare un ID al controllo in fase di progettazione.

  2. Utilizzare il metodo FindControl del contenitore di denominazione (in questo esempio un oggetto DataListItem).

Il metodo FindControl restituisce un oggetto di tipo Control. È necessario eseguire il cast di tale oggetto nel tipo di controllo appropriato. Se non viene rilevato alcun oggetto e si tenta di estrarne il valore, verrà generata un'eccezione di tipo NullReferenceException.

Vedere anche

Attività

Procedura: personalizzare gli elementi DataList in fase di esecuzione

Concetti

Identificazione di controlli Web Form