I'm trying to retrieve some date range filter values when a user revisits a search page after navigating away. I've implemented a date range picker using two RadDatePicker items under one GridBoundColumn as below:
However, I'm currently unable to persist the RadDatePicker values using the GridSettingsPersister. I believe this is because they have a parent grid item GridBoundColumn. Grid settings persister is implemented similar to the example here: http://www.telerik.com/help/aspnet-ajax/grid-saving-settings-on-per-user-basis.html
Has anyone managed to persist RadDatePicker or any child items like this using a grid settings persister or have any suggestions on how to do this?
<
telerik:GridBoundColumn
UniqueName
=
"SomeDateRange"
DataField
=
"SomeDate"
DataType
=
"System.DateTime"
ShowFilterIcon
=
"false"
SortExpression
=
"SomeDate"
HeaderStyle-Width
=
"330px"
FilterControlWidth
=
"100px"
ItemStyle-HorizontalAlign
=
"Center"
HeaderStyle-HorizontalAlign
=
"Center"
>
<
FilterTemplate
>
<
div
class
=
"dateRange"
>
<
asp:Label
runat
=
"server"
ID
=
"From"
><%# LabelFrom%></
asp:Label
>
<
telerik:RadDatePicker
ID
=
"FromOrderDatePicker"
AutoPostBackOnFilter
=
"true"
runat
=
"server"
Width
=
"140px"
ClientEvents-OnDateSelected
=
"FromDateSelected"
MinDate
=
"07-04-1996"
MaxDate
=
"05-06-2050"
FocusedDate
=
"07-03-2014"
DbSelectedDate='<%# startDate %>'/>
</
div
>
<
div
class
=
"dateRange"
>
<
asp:Label
runat
=
"server"
ID
=
"To"
><%# LabelTo%></
asp:Label
>
<
telerik:RadDatePicker
ID
=
"ToOrderDatePicker"
AutoPostBackOnFilter
=
"true"
runat
=
"server"
Width
=
"140px"
ClientEvents-OnDateSelected
=
"ToDateSelected"
MinDate
=
"07-04-1996"
MaxDate
=
"05-06-2050"
FocusedDate
=
"07-03-2014"
DbSelectedDate='<%# endDate %>' />
</
div
>
<
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);
tableView.filter("SomeDateRange", 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);
tableView.filter("SomeDateRange", 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
>
However, I'm currently unable to persist the RadDatePicker values using the GridSettingsPersister. I believe this is because they have a parent grid item GridBoundColumn. Grid settings persister is implemented similar to the example here: http://www.telerik.com/help/aspnet-ajax/grid-saving-settings-on-per-user-basis.html
Has anyone managed to persist RadDatePicker or any child items like this using a grid settings persister or have any suggestions on how to do this?