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> |