54 lines
1.9 KiB
VB.net
54 lines
1.9 KiB
VB.net
Imports System
|
|
Imports System.ComponentModel
|
|
Imports System.Collections.Generic
|
|
Imports System.Diagnostics
|
|
Imports System.Text
|
|
|
|
Imports DevExpress.ExpressApp
|
|
Imports DevExpress.ExpressApp.Actions
|
|
Imports DevExpress.Persistent.Base
|
|
Imports DevExpress.XtraGrid.Views.Base
|
|
Imports DevExpress.Data.Filtering
|
|
Imports DevExpress.XtraGrid
|
|
|
|
Public Class AutoFilterRowControllerVC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
Private currentView As ListView
|
|
Private gridView As ColumnView
|
|
Private falseCriteria As CriteriaOperator = CriteriaOperator.Parse("1=0")
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
|
|
'This call is required by the Component Designer.
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
'If View.Id = "ProductFinder_ProductSelect_ListView" Then
|
|
' currentView = CType(View, ListView)
|
|
' AddHandler currentView.ControlsCreated, AddressOf AutoFilterRowController_ControlsCreated
|
|
'End If
|
|
End Sub
|
|
Private Sub AutoFilterRowController_ControlsCreated(ByVal sender As Object, ByVal e As EventArgs)
|
|
Dim grid As GridControl = TryCast(currentView.Control, GridControl)
|
|
gridView = TryCast(grid.FocusedView, ColumnView)
|
|
If gridView.ActiveFilter.IsEmpty Then
|
|
currentView.CollectionSource.Criteria("FalseCriteria") = falseCriteria
|
|
End If
|
|
AddHandler gridView.ActiveFilter.Changed, AddressOf ActiveFilter_Changed
|
|
End Sub
|
|
Private Sub ActiveFilter_Changed(ByVal sender As Object, ByVal e As EventArgs)
|
|
If (CType(sender, ViewFilter)).IsEmpty Then
|
|
currentView.CollectionSource.Criteria("FalseCriteria") = falseCriteria
|
|
Else
|
|
If currentView.CollectionSource.Criteria.ContainsKey("FalseCriteria") Then
|
|
currentView.CollectionSource.Criteria.Remove("FalseCriteria")
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
End Class
|