I'm having trouble in filtering the columns using the RadDateTimePicker for the GridDateTimeColumn. I'm getting the error 'The string was not recognized as a valid DateTime.' I verified the formats and seems to be proper. I used the following code,
<telerik:GridDateTimeColumn UniqueName="EventDate" DataField="Date" SortExpression="Date" DataFormatString="{0:MMMM, dd, yyyy HH:mm:ss}" DataType="System.DateTime">
<HeaderStyle Wrap="False" Width="20%"></HeaderStyle>
<ItemStyle Wrap="False" HorizontalAlign="Left" Width="20%"></ItemStyle>
<FilterTemplate>
From
<telerik:RadDateTimePicker ID="FromOrderDatePicker" runat="server" Width="140px" ClientEvents-OnDateSelected="FromDateSelected" />
To
<telerik:RadDateTimePicker ID="ToOrderDatePicker" runat="server" Width="140px" ClientEvents-OnDateSelected="ToDateSelected" />
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
function FromDateSelected(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
var ToPicker = $find('<%# ((GridItem)Container).FindControl("ToOrderDatePicker").ClientID %>');
var fromDate = FormatSelectedDate(sender);
var toDate = FormatSelectedDate(ToPicker););
console.log(fromDate + " " + toDate);
tableView.filter("EventDate", fromDate + " " + toDate, "Between");
}
function ToDateSelected(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
var FromPicker = $find('<%# ((GridItem)Container).FindControl("FromOrderDatePicker").ClientID %>');
var fromDate = FormatSelectedDate(FromPicker);
var toDate = FormatSelectedDate(sender);
console.log(fromDate + " " + toDate);
tableView.filter("EventDate", fromDate + " " + toDate, "Between");
}
function FormatSelectedDate(picker) {
var date = picker.get_selectedDate();
var dateInput = picker.get_dateInput();
console.log("1 -> " + date + " " + dateInput);
var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, "M/dd/yyyy hh:mm:ss tt");
//var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat());
return formattedDate;
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridDateTimeColumn>.
I'm getting the following print for the from and to date,
"4/23/2014 12:00:00 AM - 4/24/2014 12:00:00 AM "
Please help. I want to filter based on both date and time.
<telerik:GridDateTimeColumn UniqueName="EventDate" DataField="Date" SortExpression="Date" DataFormatString="{0:MMMM, dd, yyyy HH:mm:ss}" DataType="System.DateTime">
<HeaderStyle Wrap="False" Width="20%"></HeaderStyle>
<ItemStyle Wrap="False" HorizontalAlign="Left" Width="20%"></ItemStyle>
<FilterTemplate>
From
<telerik:RadDateTimePicker ID="FromOrderDatePicker" runat="server" Width="140px" ClientEvents-OnDateSelected="FromDateSelected" />
To
<telerik:RadDateTimePicker ID="ToOrderDatePicker" runat="server" Width="140px" ClientEvents-OnDateSelected="ToDateSelected" />
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
function FromDateSelected(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
var ToPicker = $find('<%# ((GridItem)Container).FindControl("ToOrderDatePicker").ClientID %>');
var fromDate = FormatSelectedDate(sender);
var toDate = FormatSelectedDate(ToPicker););
console.log(fromDate + " " + toDate);
tableView.filter("EventDate", fromDate + " " + toDate, "Between");
}
function ToDateSelected(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
var FromPicker = $find('<%# ((GridItem)Container).FindControl("FromOrderDatePicker").ClientID %>');
var fromDate = FormatSelectedDate(FromPicker);
var toDate = FormatSelectedDate(sender);
console.log(fromDate + " " + toDate);
tableView.filter("EventDate", fromDate + " " + toDate, "Between");
}
function FormatSelectedDate(picker) {
var date = picker.get_selectedDate();
var dateInput = picker.get_dateInput();
console.log("1 -> " + date + " " + dateInput);
var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, "M/dd/yyyy hh:mm:ss tt");
//var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat());
return formattedDate;
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridDateTimeColumn>.
I'm getting the following print for the from and to date,
"4/23/2014 12:00:00 AM - 4/24/2014 12:00:00 AM "
Please help. I want to filter based on both date and time.