Hi,
I am using two Rad grids on one of my page. There are some DateTimeColumns created for each of them for DateTime fields. Dates are displayed correctly in DateTime column.
When I apply filter on DateTime column, it works in one grid but throws exception in another grid, although code is same for both. There is no custom filtering.
For both grids, DateTimeColumn is added programmatically as below:
-------------------------------------------------------------------------------------------------------------------------
GridDateTimeColumn boundColumn = new GridDateTimeColumn();
ProductsGrid.MasterTableView.Columns.Add(boundColumn);
boundColumn.PickerType = GridDateTimeColumnPickerType.DatePicker;
boundColumn.FilterControlWidth = Unit.Pixel(100);
boundColumn.HeaderStyle.Width = Unit.Pixel(110);
boundColumn.DataField = col.SystemName;
boundColumn.UniqueName = col.SystemName;
boundColumn.EnableTimeIndependentFiltering = true;
boundColumn.HeaderText = col.FriendlyName;
boundColumn.DataFormatString = "{0:dd/MM/yyyy}";
boundColumn.AutoPostBackOnFilter = true;
boundColumn.SortExpression = col.SystemName;
boundColumn.CurrentFilterFunction = GridKnownFunction.GreaterThanOrEqualTo;
boundColumn.ShowFilterIcon = true;
boundColumn.Display = col.Visible;
-------------------------------------------------------------------------------------------------------------------------
Exception I am getting while filtering by DateTime Column is :
-------------------------------------------------------------------------------------------------------------------------
Exception Type: Telerik.Web.UI.ParseException
Message: Neither of the types 'String' and 'DateTime' converts to the other
Stack Trace:
at
Telerik.Web.UI.ExpressionParser.GenerateConditional(Expression test,
Expression expr1, Expression expr2, Int32 errorPos)
at Telerik.Web.UI.ExpressionParser.ParseIif()
at Telerik.Web.UI.ExpressionParser.ParseIdentifier()
at Telerik.Web.UI.ExpressionParser.ParsePrimaryStart()
at Telerik.Web.UI.ExpressionParser.ParsePrimary()
at Telerik.Web.UI.ExpressionParser.ParseUnary()
at Telerik.Web.UI.ExpressionParser.ParseMultiplicative()
at Telerik.Web.UI.ExpressionParser.ParseAdditive()
at Telerik.Web.UI.ExpressionParser.ParseComparison()
at Telerik.Web.UI.ExpressionParser.ParseLogicalAnd()
at Telerik.Web.UI.ExpressionParser.ParseLogicalOr()
at Telerik.Web.UI.ExpressionParser.ParseExpression()
at Telerik.Web.UI.ExpressionParser.ParseParenExpression()
at Telerik.Web.UI.ExpressionParser.ParsePrimaryStart()
at Telerik.Web.UI.ExpressionParser.ParsePrimary()
at Telerik.Web.UI.ExpressionParser.ParseUnary()
at Telerik.Web.UI.ExpressionParser.ParseMultiplicative()
at Telerik.Web.UI.ExpressionParser.ParseAdditive()
at Telerik.Web.UI.ExpressionParser.ParseComparison()
at Telerik.Web.UI.ExpressionParser.ParseLogicalAnd()
at Telerik.Web.UI.ExpressionParser.ParseLogicalOr()
at Telerik.Web.UI.ExpressionParser.ParseExpression()
at Telerik.Web.UI.ExpressionParser.Parse(Type resultType)
at Telerik.Web.UI.DynamicExpression.ParseLambda(ParameterExpression[]
parameters, Type resultType, String expression, Object[] values)
at Telerik.Web.UI.DynamicExpression.ParseLambda(Type itType, Type resultType,
String expression, Object[] values)
at Telerik.Web.UI.GridDynamicQueryable.Where(IQueryable source, String
predicate, Object[] values)
at Telerik.Web.UI.GridDataTableFromEnumerable.FillData35()
at Telerik.Web.UI.GridDataTableFromEnumerable.FillData()
at Telerik.Web.UI.GridResolveEnumerable.Initialize()
at Telerik.Web.UI.GridResolveEnumerable.EnsureInitialized()
at Telerik.Web.UI.GridResolveEnumerable.get_DataTable()
at Telerik.Web.UI.GridEnumerableFromDataView..ctor(GridTableView owner,
IEnumerable enumerable, Boolean CaseSensitive, Boolean autoGenerateColumns,
GridColumnCollection presentColumns, String[] additionalField, Boolean
retrieveAllFields, Boolean enableSplitHeaderText)
at Telerik.Web.UI.GridDataSourceHelper.CreateGridEnumerable(GridTableView
owner, IEnumerable enumerable, Boolean caseSensitive, Boolean
autoGenerateColumns, GridColumnCollection presentColumns, String[]
additionalField, Boolean retrieveAllFields, Boolean enableSplitHeaderText)
at Telerik.Web.UI.GridDataSourceHelper.GetResolvedDataSource(GridTableView
owner, Object dataSource, String dataMember, Boolean caseSensitive, Boolean
autoGenerateColumns, GridColumnCollection presentColumns, String[]
additionalField, Boolean retrieveAllFields, Boolean enableSplitHeaderText)
at Telerik.Web.UI.GridTableView.get_ResolvedDataSource()
at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource)
at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource,
Boolean useDataSource)
at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable
data)
at
System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable
data)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments,
DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at Telerik.Web.UI.GridTableView.PerformSelect()
at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
at Telerik.Web.UI.GridTableView.DataBind()
at Telerik.Web.UI.GridTableView.Rebind()
at Telerik.Web.UI.GridFilterCommandEventArgs.ExecuteCommand(Object source)
at Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e)
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
at Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e)
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
at Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e)
at Telerik.Web.UI.GridItem.FireCommandEvent(String commandName, Object
commandArgument)
at Telerik.Web.UI.RadGrid.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,
String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
-------------------------------------------------------------------------------------------------------------------------
Can someone please let me know the reason for this exception?
Best Regards
Tushar
I am using two Rad grids on one of my page. There are some DateTimeColumns created for each of them for DateTime fields. Dates are displayed correctly in DateTime column.
When I apply filter on DateTime column, it works in one grid but throws exception in another grid, although code is same for both. There is no custom filtering.
For both grids, DateTimeColumn is added programmatically as below:
-------------------------------------------------------------------------------------------------------------------------
GridDateTimeColumn boundColumn = new GridDateTimeColumn();
ProductsGrid.MasterTableView.Columns.Add(boundColumn);
boundColumn.PickerType = GridDateTimeColumnPickerType.DatePicker;
boundColumn.FilterControlWidth = Unit.Pixel(100);
boundColumn.HeaderStyle.Width = Unit.Pixel(110);
boundColumn.DataField = col.SystemName;
boundColumn.UniqueName = col.SystemName;
boundColumn.EnableTimeIndependentFiltering = true;
boundColumn.HeaderText = col.FriendlyName;
boundColumn.DataFormatString = "{0:dd/MM/yyyy}";
boundColumn.AutoPostBackOnFilter = true;
boundColumn.SortExpression = col.SystemName;
boundColumn.CurrentFilterFunction = GridKnownFunction.GreaterThanOrEqualTo;
boundColumn.ShowFilterIcon = true;
boundColumn.Display = col.Visible;
-------------------------------------------------------------------------------------------------------------------------
Exception I am getting while filtering by DateTime Column is :
-------------------------------------------------------------------------------------------------------------------------
Exception Type: Telerik.Web.UI.ParseException
Message: Neither of the types 'String' and 'DateTime' converts to the other
Stack Trace:
at
Telerik.Web.UI.ExpressionParser.GenerateConditional(Expression test,
Expression expr1, Expression expr2, Int32 errorPos)
at Telerik.Web.UI.ExpressionParser.ParseIif()
at Telerik.Web.UI.ExpressionParser.ParseIdentifier()
at Telerik.Web.UI.ExpressionParser.ParsePrimaryStart()
at Telerik.Web.UI.ExpressionParser.ParsePrimary()
at Telerik.Web.UI.ExpressionParser.ParseUnary()
at Telerik.Web.UI.ExpressionParser.ParseMultiplicative()
at Telerik.Web.UI.ExpressionParser.ParseAdditive()
at Telerik.Web.UI.ExpressionParser.ParseComparison()
at Telerik.Web.UI.ExpressionParser.ParseLogicalAnd()
at Telerik.Web.UI.ExpressionParser.ParseLogicalOr()
at Telerik.Web.UI.ExpressionParser.ParseExpression()
at Telerik.Web.UI.ExpressionParser.ParseParenExpression()
at Telerik.Web.UI.ExpressionParser.ParsePrimaryStart()
at Telerik.Web.UI.ExpressionParser.ParsePrimary()
at Telerik.Web.UI.ExpressionParser.ParseUnary()
at Telerik.Web.UI.ExpressionParser.ParseMultiplicative()
at Telerik.Web.UI.ExpressionParser.ParseAdditive()
at Telerik.Web.UI.ExpressionParser.ParseComparison()
at Telerik.Web.UI.ExpressionParser.ParseLogicalAnd()
at Telerik.Web.UI.ExpressionParser.ParseLogicalOr()
at Telerik.Web.UI.ExpressionParser.ParseExpression()
at Telerik.Web.UI.ExpressionParser.Parse(Type resultType)
at Telerik.Web.UI.DynamicExpression.ParseLambda(ParameterExpression[]
parameters, Type resultType, String expression, Object[] values)
at Telerik.Web.UI.DynamicExpression.ParseLambda(Type itType, Type resultType,
String expression, Object[] values)
at Telerik.Web.UI.GridDynamicQueryable.Where(IQueryable source, String
predicate, Object[] values)
at Telerik.Web.UI.GridDataTableFromEnumerable.FillData35()
at Telerik.Web.UI.GridDataTableFromEnumerable.FillData()
at Telerik.Web.UI.GridResolveEnumerable.Initialize()
at Telerik.Web.UI.GridResolveEnumerable.EnsureInitialized()
at Telerik.Web.UI.GridResolveEnumerable.get_DataTable()
at Telerik.Web.UI.GridEnumerableFromDataView..ctor(GridTableView owner,
IEnumerable enumerable, Boolean CaseSensitive, Boolean autoGenerateColumns,
GridColumnCollection presentColumns, String[] additionalField, Boolean
retrieveAllFields, Boolean enableSplitHeaderText)
at Telerik.Web.UI.GridDataSourceHelper.CreateGridEnumerable(GridTableView
owner, IEnumerable enumerable, Boolean caseSensitive, Boolean
autoGenerateColumns, GridColumnCollection presentColumns, String[]
additionalField, Boolean retrieveAllFields, Boolean enableSplitHeaderText)
at Telerik.Web.UI.GridDataSourceHelper.GetResolvedDataSource(GridTableView
owner, Object dataSource, String dataMember, Boolean caseSensitive, Boolean
autoGenerateColumns, GridColumnCollection presentColumns, String[]
additionalField, Boolean retrieveAllFields, Boolean enableSplitHeaderText)
at Telerik.Web.UI.GridTableView.get_ResolvedDataSource()
at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource)
at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource,
Boolean useDataSource)
at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable
data)
at
System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable
data)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments,
DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at Telerik.Web.UI.GridTableView.PerformSelect()
at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
at Telerik.Web.UI.GridTableView.DataBind()
at Telerik.Web.UI.GridTableView.Rebind()
at Telerik.Web.UI.GridFilterCommandEventArgs.ExecuteCommand(Object source)
at Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e)
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
at Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e)
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
at Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e)
at Telerik.Web.UI.GridItem.FireCommandEvent(String commandName, Object
commandArgument)
at Telerik.Web.UI.RadGrid.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,
String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
-------------------------------------------------------------------------------------------------------------------------
Can someone please let me know the reason for this exception?
Best Regards
Tushar