Практическое руководство. Динамическая настройка элементов серверного веб-элемента управления DataList
Обновлен: Ноябрь 2007
Динамическая настройка элементов в DataList позволяет установить их характеристики на основе сведений, доступных в момент выполнения. В данном разделе содержится два примера, которые показывают, как настраивать элементы в DataList.
В первом примере кода показано, как настроить отдельный элемент не затрагивая данные. В примере отображаются различные типы шаблонов с различными фоновыми цветами.
Во втором примере показано, как настроить содержимое элемента управления DataList на основе отображенных в нем данных. При извлечении даты (даты рождения) код оценивает содержимое метки с привязкой к данным в элементе. Если месяц даты рождения совпадает с текущим, элемент подсвечивается заданным цветом.
Пример
' 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
Компиляция кода
Для выполнения данных примеров требуются следующие компоненты:
Элемент управления DataList с именем DataList1, который связан с таблицей «Сотрудники» базы данных «Борей». Сведения о привязке элемента управления DataList к источнику данных см. в разделе Практическое руководство. Добавление серверных веб-элементов управления DataList на веб-страницу ASP.NET.
Шаблон элемента, содержащий не менее одного элемента управления Label с именем Label1. Данная метка должна быть привязана к полю «Дата рождения» таблицы «Сотрудники». Дополнительные сведения о связывании элементов управления с полями см. в разделе Общие сведения о выражениях для привязки данных.
Отказоустойчивость
Способ извлечения значения элемента управления из шаблона элемента DataList:
На этапе разработки присвойте элементу управления идентификатор.
Используйте метод FindControl именованного контейнера (в данном примере объект DataListItem).
Метод FindControl возвращает объект типа Control. Данный объект необходимо привести к типу, соответствующему типу элемента управления. Если объект не найден и выполняется попытка извлечь значение объекта, элемент управления создаст исключение типа NullReferenceException.
См. также
Задачи
Практическое руководство. Настройка элементов DataList во время выполнения