I have been trying to use a date range filter for a RadGrid with manual filter in code behind. I understand that it is a string expression, however no matter what I try it keeps getting an error that it is not a valid boolean expression. Here is the aspx and code behind. What am I missing? Thanks in advance.
<
telerik:RadGrid
ID
=
"TimeGrid"
AllowPaging
=
"true"
DataSourceID
=
"DetailSource"
runat
=
"server"
GridLines
=
"None"
AllowSorting
=
"false"
EnableLinqExpressions
=
"false"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"WorkDate"
HeaderText
=
"Date"
UniqueName
=
"WDate"
DataFormatString
=
"{0:MM/dd/yy}"
ItemStyle-Width
=
"75px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Shift"
HeaderText
=
"Shift"
ItemStyle-Width
=
"25px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Reg"
HeaderText
=
"Reg"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShftHrs"
HeaderText
=
"ShftHrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"OT"
HeaderText
=
"OT"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Vac40"
HeaderText
=
"Vac 40 Hrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Vac48"
HeaderText
=
"Vac 48 Hrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Vac36"
HeaderText
=
"Vac 36 Hrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Sick40"
HeaderText
=
"Sick 40 Hrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Sick48"
HeaderText
=
"Sick 48 Hrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Sick36"
HeaderText
=
"Sick 36 Hrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Exc_Absence"
HeaderText
=
"Exc Abs Hrs"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Holiday_Worked"
HeaderText
=
"Holiday Worked"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Holiday_Not_Worked"
HeaderText
=
"Holiday Not Worked"
ItemStyle-Width
=
"35px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Comments"
HeaderText
=
"Comment"
ItemStyle-Width
=
"135px"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Additional_Comment"
HeaderText
=
"Additional Comment"
ItemStyle-Width
=
"135px"
></
telerik:GridBoundColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"Five"
HeaderText
=
"5%"
></
telerik:GridCheckBoxColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"Ten"
HeaderText
=
"10%"
></
telerik:GridCheckBoxColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
**Server side
Partial
Class
Administration_TimesheetUserControl2
Inherits
System.Web.UI.UserControl
Protected
Sub
PayDatesDDL_SelectedIndexChanged(sender
As
Object
, e
As
Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs)
Handles
PayDatesDDL.SelectedIndexChanged
Dim
strFilterExpression
As
String
strFilterExpression =
"(([WORKDATE] >= '"
+ e.Value +
"') AND ([WORKDATE] <= '"
+ Calc_PP_EndDate(e.Value) +
"'))"
TimeGrid.MasterTableView.FilterExpression = strFilterExpression
TimeGrid.MasterTableView.Rebind()
End
Sub
Public
Shared
Function
Calc_PP_EndDate(
ByVal
strBeginDate
As
String
)
As
String
Dim
dtmEndDate
As
Date
Dim
dtBeginDate
As
Date
=
Date
.Parse(strBeginDate)
Dim
strEndDate
As
String
If
Day(dtBeginDate) = 1
Then
dtmEndDate = DateSerial(Year(dtBeginDate), Month(dtBeginDate), 15)
Else
dtmEndDate = DateSerial(Year(dtBeginDate), Month(dtBeginDate) + 1, 1 - 1)
End
If
strEndDate =
CType
(dtmEndDate,
String
)
Return
(strEndDate)
End
Function
End
Class