I have a issue with performing custom filtering using RadDatePicker on RadGrid.
I have a datetime column on the grid and I am using template column to assign the values on the grid.
The RadDatePicker control works perfect on one date column which contains DateTimeValues values on all the rows.
But it is not working on a column where there are very few values and also contains DBNULL values. Thanks in advance.
Here is the code
-------------------------------------
<FilterTemplate>
<telerik:RadDatePicker ID="PickupDatePicker" runat="server" Width="90px" ClientEvents-OnDateSelected="PickupDateSelected"
DbSelectedDate='<%# SetPickupDate(Container) %>' />
<telerik:RadScriptBlock ID="RadScriptPickupDate" runat="server">
<script type="text/javascript">
function PickupDateSelected(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
var date = FormatPickupSelectedDate(sender);
tableView.filter("Pickup_Dt", date, "EqualTo");
}
function FormatPickupSelectedDate(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>
-------------------------------------
protected DateTime? SetPickupDate(Telerik.Web.UI.GridItem item)
{
if (item.OwnerTableView.GetColumn("Pickup_Dt").CurrentFilterValue == string.Empty)
{
return new DateTime?();
}
else
{
return DateTime.Parse(item.OwnerTableView.GetColumn("Pickup_Dt").CurrentFilterValue);
}
}
protected void uxRGrid_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridFilteringItem)
{
Telerik.Web.UI.RadDatePicker dtpickerPickupDate = (Telerik.Web.UI.RadDatePicker)(e.Item as Telerik.Web.UI.GridFilteringItem)["Pickup_Dt"].Controls[1];
dtpickerPickupDate.Culture = Thread.CurrentThread.CurrentUICulture;
}
}
-------------------------------------