First create solution
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
Imports DevExpress.ExpressApp.Model
|
||||
Imports DevExpress.ExpressApp.Model.Core
|
||||
Imports DevExpress.ExpressApp.Model.NodeGenerators
|
||||
|
||||
Public Class ModelListViewLinqColumnsNodesGeneratorUpdater
|
||||
Inherits ModelNodesGeneratorUpdater(Of ModelListViewColumnsNodesGenerator)
|
||||
Public Overrides Sub UpdateNode(ByVal node As ModelNode)
|
||||
Dim linqViewInfo As IModelListViewLinq = TryCast(node.Parent, IModelListViewLinq)
|
||||
If linqViewInfo IsNot Nothing AndAlso (Not String.IsNullOrEmpty(linqViewInfo.XPQueryMethod)) Then
|
||||
Dim listViewInfo As IModelListView = CType(linqViewInfo, IModelListView)
|
||||
Dim columns() As String = LinqCollectionSourceHelper.GetDisplayableProperties(listViewInfo.ModelClass.TypeInfo.Type, linqViewInfo.XPQueryMethod)
|
||||
If columns IsNot Nothing Then
|
||||
If listViewInfo.Columns Is Nothing Then
|
||||
listViewInfo.AddNode(Of IModelColumns)("Columns")
|
||||
End If
|
||||
Dim i As Integer = listViewInfo.Columns.Count
|
||||
Do While i > 0
|
||||
i -= 1
|
||||
Dim col As IModelColumn = listViewInfo.Columns.Item(i)
|
||||
If Array.IndexOf(columns, col.Id) < 0 Then
|
||||
'listViewInfo.Columns.Remove(col)
|
||||
End If
|
||||
Loop
|
||||
For Each column As String In columns
|
||||
Dim col As IModelColumn = listViewInfo.Columns.GetNode(column)
|
||||
If col Is Nothing Then
|
||||
col = listViewInfo.Columns.AddNode(Of IModelColumn)(column)
|
||||
col.PropertyName = column
|
||||
End If
|
||||
Next column
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user