/
WebGroupFooterViewController.vb
43 lines (41 loc) · 1.87 KB
/
WebGroupFooterViewController.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Imports System
Imports DevExpress.Data
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Model
Imports DevExpress.ExpressApp.Web.Editors.ASPx
Imports DevExpress.Web
Namespace ExtendModel.Module.Web.Controllers
Public Class WebGroupFooterViewController
Inherits ViewController(Of ListView)
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
Dim modelListView As IModelListViewExtender = TryCast(View.Model, IModelListViewExtender)
If modelListView IsNot Nothing AndAlso modelListView.IsGroupFooterVisible Then
Dim gridListEditor As ASPxGridListEditor = TryCast(View.Editor, ASPxGridListEditor)
If gridListEditor IsNot Nothing Then
Dim gridView As ASPxGridView = gridListEditor.Grid
gridView.Settings.ShowGroupFooter = GridViewGroupFooterMode.VisibleAlways
For Each modelColumn As IModelColumn In View.Model.Columns
Dim modelColumnExtender As IModelColumnExtender = TryCast(modelColumn, IModelColumnExtender)
If modelColumnExtender IsNot Nothing AndAlso modelColumnExtender.GroupFooterSummaryType <> SummaryItemType.None Then
Dim fieldName As String = modelColumn.ModelMember.MemberInfo.BindingName.ToUpper()
Dim summaryItem As ASPxSummaryItem = Nothing
For Each currentItem As ASPxSummaryItem In gridView.GroupSummary
If currentItem.FieldName = fieldName Then
currentItem.ShowInGroupFooterColumn = modelColumn.Caption.ToUpper()
summaryItem = currentItem
Exit For
End If
Next currentItem
If summaryItem Is Nothing Then
summaryItem = New ASPxSummaryItem(fieldName, modelColumnExtender.GroupFooterSummaryType)
summaryItem.ShowInGroupFooterColumn = modelColumn.Caption.ToUpper()
gridView.GroupSummary.Add(summaryItem)
End If
End If
Next modelColumn
End If
End If
End Sub
End Class
End Namespace