【发布时间】:2014-02-26 17:31:34
【问题描述】:
我在 RadGrid 中有一个嵌套视图,下面是我的代码隐藏。 Grid 正在请求每一行的详细信息,但是我希望它仅在该行实际展开时才请求详细信息?
Private Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As GridNeedDataSourceEventArgs) Handles dataGridMyLeads.NeedDataSource
If Not e.IsFromDetailTable Then
Dim DS = (PersonList.GetFilteredLeads(MySession.RiseEID, MySession.RiseClientID, , , MySession.ShowAll)).OrderBy(Function(c) c.LastAction)
If RouteData.Values("Cat") = "StatusOverdue" Then DS = DS.Where(Function(c) c.NextAction >= Now())
dataGridMyLeads.DataSource = DS
End If
End Sub
Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As EventArgs) Handles dataGridMyLeads.PreRender
If Not Page.IsPostBack Then
dataGridMyLeads.MasterTableView.Items(0).ChildItem.FindControl("InnerContainer").Visible = True
End If
End Sub
Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As GridCommandEventArgs) Handles dataGridMyLeads.ItemCommand
If (e.CommandName = "RowClick" OrElse e.CommandName = "ExpandCollapse") And TypeOf e.Item Is GridDataItem Then
DirectCast(e.Item, GridDataItem).ChildItem.FindControl("InnerContainer").Visible = Not e.Item.Expanded
End If
If e.CommandName = "RowClick" OrElse e.CommandName = "ExpandCollapse" Then
e.Item.Expanded = Not e.Item.Expanded
End If
If e.CommandName = "RowClick" OrElse e.CommandName = "ExpandCollapse" Then
Dim item As GridItem
For Each item In e.Item.OwnerTableView.Items
If item.Expanded AndAlso Not item Is e.Item Then
item.Expanded = False
End If
Next item
End If
End Sub
Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles dataGridMyLeads.ItemCreated
If TypeOf e.Item Is GridNestedViewItem Then
e.Item.FindControl("InnerContainer").Visible = (DirectCast(e.Item, GridNestedViewItem)).ParentItem.Expanded
End If
End Sub
【问题讨论】: