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?