- Ulteriori modifiche a paginazione e filtri nuova finestra apri

This commit is contained in:
Emmanuele Sassi
2023-10-16 18:20:53 +02:00
parent 0c73db4f52
commit 9eb30b0697
5 changed files with 231 additions and 10 deletions
@@ -127,7 +127,13 @@ Public MustInherit Class NewOpenProjectFileDialogVM
End Get
End Property
Public m_ProjectList_View As CollectionView = Nothing
Private m_ProjectList_View As CollectionView = Nothing
Public ReadOnly Property ProjectList_View As CollectionView
Get
Return m_ProjectList_View
End Get
End Property
Protected m_ProjectList As New ObservableCollection(Of ProdItem)
Public ReadOnly Property ProjectList As ObservableCollection(Of ProdItem)
Get
@@ -447,7 +453,13 @@ Public MustInherit Class NewOpenProjectFileDialogVM
NotifyPropertyChanged(NameOf(bDelete_IsEnabled))
End Sub
Protected m_PageList As ObservableCollection(Of ProdItem)
Private m_PageList_View As ListCollectionView = Nothing
Public ReadOnly Property PageList_View As ListCollectionView
Get
Return m_PageList_View
End Get
End Property
Protected m_PageList As New ObservableCollection(Of ProdItem)
Public Property PageList As ObservableCollection(Of ProdItem)
Get
Return m_PageList
@@ -640,6 +652,29 @@ Public MustInherit Class NewOpenProjectFileDialogVM
Public Overridable Sub RefreshProjectList(Optional GoToProd As Boolean = False)
End Sub
Private m_ProdItemComparer As ProdItemComparer
Friend ReadOnly Property ProdItemComparer As ProdItemComparer
Get
Return m_ProdItemComparer
End Get
End Property
Friend Sub SetPageListView()
m_PageList_View = CollectionViewSource.GetDefaultView(m_PageList)
m_ProdItemComparer = New ProdItemComparer
m_PageList_View.CustomSort = m_ProdItemComparer
NotifyPropertyChanged(NameOf(PageList_View))
End Sub
Friend Sub RefreshProdItemSort()
m_PageList_View.CustomSort = m_ProdItemComparer
End Sub
Friend Sub SortPageList()
' m_ProjectList = New ObservableCollection(Of ProdItem)(m_ProjectList.OrderBy(Of Integer)(Function(x) If(String.IsNullOrWhiteSpace(x.sProdId), 0, CInt(x.sProdId))))
End Sub
Protected Sub LoadColumns()
'If ProjectType = ProjectType.PROJ Then
' carico le colonne della datagrid
@@ -746,7 +781,11 @@ Public MustInherit Class NewOpenProjectFileDialogVM
Return False
End If
' FilteredList = FilteredList.OrderBy(Of ProdItem)()
m_PageList = New ObservableCollection(Of ProdItem)(FilteredList.Skip((nPageIndex - 1) * nPageRowQty + 1).Take(nPageIndex * nPageRowQty).Select(Function(x) x))
' m_PageList = New ObservableCollection(Of ProdItem)(FilteredList.Skip((nPageIndex - 1) * nPageRowQty + 1).Take(nPageIndex * nPageRowQty).Select(Function(x) x))
m_PageList.Clear()
For Index = (nPageIndex - 1) * nPageRowQty + 1 To nPageIndex * nPageRowQty
m_PageList.Add(FilteredList(Index))
Next
NotifyPropertyChanged(NameOf(PageList))
Return True