Вложенные даталисты до уровня GreatGrandChild
Я был "успешным" в том, чтобы заставить вложенных даталистов работать через четыре поколения (Parent, Child, GrandChild, GreatGrandChild), но только с наборами записей менее 50 и почти минутой времени оттока. Теперь, когда у меня есть около 500 записей, время ожидания истекло.
Я испробовал несколько методов, которые я нашел в Интернете, для успешного получения списков данных "Родитель-ребенок", но я не мог получить повторную обработку для работы с GrandChild без ошибки при использовании слишком большого количества открытых соединений.
Может ли кто-нибудь поделиться лучшей практикой для быстрого, вложенного в данные поколения из четырех поколений?
Вот пример кода для связывания данных со списком данных Child и GrandChild:
Sub Item_Bound_Child(sender As Object, e As DataListItemEventArgs)
If e.Item.ItemType = ListItemType.Item Or _
e.Item.ItemType = ListItemType.AlternatingItem Then
' Retrieve the Label control in the current DataListItem.
Dim Parent_Name_Label As Label = _
CType(e.Item.FindControl("lbl_Parent_Name"), Label)
Dim s As SqlDataSource = DirectCast(e.Item.FindControl("DataSource_Child_Data"), SqlDataSource)
s.FilterParameters(0).DefaultValue = Parent_Name_Label.Text
s.DataBind()
End If
End Sub
Sub Item_Bound_GrandChild(sender As Object, e As DataListItemEventArgs)
If e.Item.ItemType = ListItemType.Item Or _
e.Item.ItemType = ListItemType.AlternatingItem Then
' Retrieve the Label control in the current DataListItem.
Dim Parent_Name_Child_Level_Label As Label = _
CType(e.Item.FindControl("lbl_Parent_Name_Child_Level"), Label)
Dim Child_Name_Label As Label = _
CType(e.Item.FindControl("lbl_Child_Name"), Label)
Dim s As SqlDataSource = DirectCast(e.Item.FindControl("DataSource_GrandChild_Data"), SqlDataSource)
s.FilterParameters(0).DefaultValue = Parent_Name_Child_Level_Label .Text
s.FilterParameters(1).DefaultValue = Child_Name_Label .Text
s.DataBind()
End If
End Sub
Я могу только представить, что я что-то пропускаю или совершаю слишком много поездок туда и обратно. Я уверен, что буду признателен за направление и помощь.
Спасибо роб
1 ответ
Я нашел это объяснение очень полезным для настройки привязки данных для многоуровневых вложенных данных. Хотя код изначально был очень пугающим, я изучил его и адаптировал к своему использованию.
http://msdn.microsoft.com/en-us/library/aa478959.aspx
Теперь мои вложенные даталисты отображаются в считанные секунды.
Мой следующий шаг - узнать, как редактировать список данных GreatGrandChild.