I'm having trouble implementing a solution similar to the example from the second grid on the following page to do a "between" filter on a date column in a RadGrid.
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/filtertemplate/defaultcs.aspx
As far as I can tell I have implemented all the relevant stuff from the example and the only difference is I'm using an EntityDataSource instead of a SqlDataSource. However, when I select a date from either box I get the following error.
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/filtertemplate/defaultcs.aspx
As far as I can tell I have implemented all the relevant stuff from the example and the only difference is I'm using an EntityDataSource instead of a SqlDataSource. However, when I select a date from either box I get the following error.
The datetime literal value '2010-06-02' is not valid. Near line 6, column 17.
I used the small example below to reproduce the error.
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head runat="server"> |
| <title></title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> |
| <div> |
| <telerik:RadGrid ID="gvWorkItem" runat="server" AutoGenerateColumns="False" DataSourceID="edsWorkItem" |
| GridLines="None" AllowFilteringByColumn="True"> |
| <MasterTableView DataKeyNames="WorkItemID" DataSourceID="edsWorkItem"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="WorkItemID" DataType="System.Int32" HeaderText="#" |
| ReadOnly="True" SortExpression="WorkItemID" UniqueName="WorkItemID" /> |
| <telerik:GridBoundColumn DataField="Description" HeaderText="Description" |
| SortExpression="Description" UniqueName="Description" /> |
| <telerik:GridBoundColumn DataField="DueDate" DataType="System.DateTime" |
| HeaderText="Due Date" SortExpression="DueDate" UniqueName="DueDate"> |
| <FilterTemplate> |
| <telerik:RadDatePicker ID="FromDatePicker" runat="server" |
| ClientEvents-OnDateSelected="FromDatePicker_DateSelected" /><br /> |
| <telerik:RadDatePicker ID="ToDatePicker" runat="server" |
| ClientEvents-OnDateSelected="ToDatePicker_DateSelected" /> |
| <telerik:RadScriptBlock ID="RadCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| function FromDatePicker_DateSelected(sender, args) { |
| var tableView = |
| $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); |
| var ToPicker = |
| $find('<%# ((GridItem)Container).FindControl("ToDatePicker").ClientID %>'); |
| var fromDate = FormatSelectedDate(sender); |
| var toDate = FormatSelectedDate(ToPicker); |
| tableView.filter("DueDate", fromDate + " " + toDate, "Between"); |
| } |
| function ToDatePicker_DateSelected(sender, args) { |
| var tableView = |
| $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); |
| var FromPicker = |
| $find('<%# ((GridItem)Container).FindControl("FromDatePicker").ClientID %>'); |
| var fromDate = FormatSelectedDate(FromPicker); |
| var toDate = FormatSelectedDate(sender); |
| tableView.filter("DueDate", fromDate + " " + toDate, "Between"); |
| } |
| function FormatSelectedDate(picker) { |
| var date = picker.get_selectedDate(); |
| var dateInput = picker.get_dateInput(); |
| var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, |
| dateInput.get_displayDateFormat()); |
| return formattedDate; |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| </FilterTemplate> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <asp:EntityDataSource ID="edsWorkItem" runat="server" ConnectionString="name=WorkDataEntities" |
| DefaultContainerName="WorkDataEntities" EntitySetName="WorkItems" /> |
| </div> |
| </form> |
| </body> |
| </html> |
