Click to Rate and Give Feedback
MSDN
MSDN Library
Visual Studio 2008
Visual Studio
 How to: Customize Items Dynamically...

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
ASP.NET
How to: Customize Items Dynamically in the DataList Web Server Control

You can customize items in the DataList control dynamically, which is useful if you want to set item characteristics based on information available at run time. This topic contains two examples that show how to customize the items in a DataList control.

The first code example shows how to customize an individual item when the customization does not involve data. The example displays different types of templates with different background colors.

The second code example shows how to customize the contents of a DataList control item based on the data being displayed in it. The code examines the contents of a data-bound label in the item to extract a date (date of birth). If the date-of-birth month is the same as the current month, the item is highlighted using color.

Visual Basic
' 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

These examples require:

The most reliable way to extract the value of a control in a DataList control template is to:

  1. Assign an ID to the control at design time.

  2. Use the FindControl method of the naming container (in this example, a DataListItem object).

The FindControl method returns an object of type Control. You must cast this object to the appropriate control type. If no object is found and you try to extract its value, the control throws an exception of type NullReferenceException.

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker