We use a RadGridView on our WinForms application. We are trying to add filtering, but nothing behaves the way we want it to.
When I go to the filter -> Available Filters -> Equals, I would expect it to load the form with the appropriate options prefilled (i.e., equal to today). However, the form lacks values and does not adapt for which filter I select.
Here's my code so far:
This is subscribed to in the MouseUp event of any of the Available Filter menu items (which has some custom values passed in through a lambda):
When I go to the filter -> Available Filters -> Equals, I would expect it to load the form with the appropriate options prefilled (i.e., equal to today). However, the form lacks values and does not adapt for which filter I select.
Here's my code so far:
Private
Sub
radGridView1_CreateCompositeFilterDialog(e
As
GridViewCreateCompositeFilterDialogEventArgs, senderName
As
String
, column
As
GridViewDataColumn)
Dim
filterDialog
As
CompositeFilterForm
Dim
compositeFilterDescriptor
As
CompositeFilterDescriptor
If
senderName.ToLower() =
"equals"
Then
compositeFilterDescriptor =
New
CompositeFilterDescriptor()
compositeFilterDescriptor.LogicalOperator = FilterLogicalOperator.
Or
compositeFilterDescriptor.IsFilterEditor =
True
compositeFilterDescriptor.FilterDescriptors.Add(
New
DateFilterDescriptor(
"colReceived"
, FilterOperator.IsEqualTo,
Date
.Now)
With
{
.IsFilterEditor =
True
,
.IgnoreTimePart =
True
})
compositeFilterDescriptor.FilterDescriptors.Add(
New
DateFilterDescriptor(
"colReceived"
, FilterOperator.IsEqualTo,
Date
.Now)
With
{
.IsFilterEditor =
True
,
.IgnoreTimePart =
True
})
ElseIf
senderName.ToLower() =
"not equal to"
Then
compositeFilterDescriptor =
New
CompositeFilterDescriptor()
compositeFilterDescriptor.LogicalOperator = FilterLogicalOperator.
And
compositeFilterDescriptor.NotOperator =
True
compositeFilterDescriptor.IsFilterEditor =
True
compositeFilterDescriptor.FilterDescriptors.Add(
New
FilterDescriptor(
"colReceived"
, FilterOperator.IsEqualTo,
Date
.Now))
compositeFilterDescriptor.FilterDescriptors.Add(
New
FilterDescriptor(
"colReceived"
, FilterOperator.None,
Nothing
))
ElseIf
....
End
If
If
compositeFilterDescriptor IsNot
Nothing
Then
filterDialog =
New
CompositeFilterForm(column, compositeFilterDescriptor)
Else
filterDialog =
New
CompositeFilterForm()
End
If
AddHandler
filterDialog.FormClosing,
AddressOf
test2
e.Dialog = filterDialog
End
Sub
This is subscribed to in the MouseUp event of any of the Available Filter menu items (which has some custom values passed in through a lambda):
Private
Sub
item_MouseUp(sender
As
Object
, column
As
GridViewDataColumn)
AddHandler
radGridView1.CreateCompositeFilterDialog,
Sub
(s
As
Object
, e2
As
GridViewCreateCompositeFilterDialogEventArgs)
radGridView1_CreateCompositeFilterDialog(e2,
CType
(sender, RadItem).AccessibleName, column)
End
Sub
End
Sub
How can I load the window with the appropriate filters prefilled to the form?
It looks like we're on Telerik version 2017.3.1017.