This is a migrated thread and some comments may be shown as answers.

Filtering broke in 2008.2.1001?

7 Answers 109 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Cory Benjamin
Top achievements
Rank 2
Cory Benjamin asked on 06 Oct 2008, 07:18 PM
Hi,

I have a RadGrid bound to a LLBLGen datasource.  In 2008.2.723, everything works fine.

I upgraded to 2008.2.1001 and I receive an exception when filtering on a column from within the grid.  I then downgraded to 2008.2.723 and it worked again.

Exception:

<html><body><h1>/UI/test.aspx</h1><br>Reference Number: 3e059bb4-dacb-43a3-bdd0-ae0a891207a7<br>Offending URL: http://localhost:57301/UI/test.aspx?RadUrid=a9505c6c-b84b-4cd7-8968-7bf30415b2b7<br>Source: Telerik.Web.UI<br>Message: No property or field 'CommonBranch' exists in type 'EntityBase2'<br>Base error source: Telerik.Web.UI<br>Message: No property or field 'CommonBranch' exists in type 'EntityBase2'<br>Stack trace:    at Telerik.Web.UI.ExpressionParser.ParseMemberAccess(Type type, Expression instance)
   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)
   at Telerik.Web.UI.GridDataSourceHelper.CreateGridEnumerable(GridTableView owner, IEnumerable enumerable, Boolean caseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields)
   at Telerik.Web.UI.GridDataSourceHelper.GetResolvedDataSource(GridTableView owner, Object dataSource, String dataMember, Boolean caseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields)
   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)</body></html>

The actual exception is coming from the datasource, but obviously something changed in RadGrid because it works in the old version but not in the new.  Any ideas?

Thanks.

7 Answers, 1 is accepted

Sort by
0
Rosen
Telerik team
answered on 07 Oct 2008, 12:07 PM
Hi,

I'm afraid that I was unable to reproduce the behavior you have described on my local machine.  I have attached the test project with which I'm testing. Please give it a spin and let me know if I'm missing something obvious.

All the best,
Rosen
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Cory Benjamin
Top achievements
Rank 2
answered on 07 Oct 2008, 07:01 PM
I am using an adapter to access the data.  Below is a simplified version of my grid which gives me the same error.


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestGrid.aspx.cs" Inherits="Omega.WebApp.UI.Framework.TestGrid" %> 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<%@ Register assembly="SD.LLBLGen.Pro.ORMSupportClasses.NET20" namespace="SD.LLBLGen.Pro.ORMSupportClasses" tagprefix="llblgenpro" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head id="Head1" runat="server"
    <title>Untitled Page</title> 
</head> 
<body> 
    <form id="form1" runat="server"
    <div> 
 
    <telerik:RadGrid runat="server" ID ="GeneralRadGrid1" DataSourceID = "GeneralGridDS" Skin="Vista" 
    Width="100%" AllowPaging="true" AutoGenerateColumns = "false" GridLines = "Horizontal" > 
 
        <MasterTableView CommandItemDisplay = "Top" Width="100%" AllowFilteringByColumn="true" 
        AutoGenerateColumns = "false" DataKeyNames="Id" AllowSorting="true"  
        AllowMultiColumnSorting="true"
            <RowIndicatorColumn> 
                <HeaderStyle Width="20px"></HeaderStyle> 
            </RowIndicatorColumn> 
            <ExpandCollapseColumn> 
                <HeaderStyle Width="20px"></HeaderStyle> 
            </ExpandCollapseColumn> 
            <Columns> 
                <telerik:GridBoundColumn DataField="PhoneNumber" HeaderText="PhoneNumber" FilterListOptions="VaryByDataType" 
                 SortExpression="PhoneNumber" UniqueName="PhoneNumber" > 
                </telerik:GridBoundColumn> 
                <telerik:GridBoundColumn DataField="FrameworkUser.UserID" HeaderText="User" FilterListOptions="VaryByDataType" 
                 SortExpression="UserID" UniqueName="FrameworkUser.UserID"  ReadOnly="true"
                </telerik:GridBoundColumn>                     
                <telerik:GridBoundColumn DataField="Id" UniqueName="Id" DataType="System.Guid" Visible="false" ReadOnly="true"></telerik:GridBoundColumn> 
            </Columns> 
        </MasterTableView> 
        <FilterMenu Skin="Vista" EnableTheming="True"
            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
        </FilterMenu> 
    </telerik:RadGrid> 
 
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"
    </telerik:RadScriptManager> 
 
    <llblgenpro:llblgenprodatasource2 ID="GeneralGridDS" runat="server" 
    DataContainerType="EntityCollection"  EnablePaging="True" LivePersistence="true" 
    AdapterTypeName="Omega.DAL.DatabaseSpecific.DataAccessAdapter, Omega.DALDBSpecific" 
    EntityFactoryTypeName="Omega.DAL.FactoryClasses.CommonPhoneNumberEntityFactory, Omega.DAL"
    </llblgenpro:llblgenprodatasource2> 
 
 </div> 
    </form> 
</body> 
</html> 
 
 
 
using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using Omega.DAL.EntityClasses; 
using SD.LLBLGen.Pro.ORMSupportClasses; 
using Omega.DAL.DatabaseSpecific; 
using Omega.DAL; 
 
 
namespace Omega.WebApp.UI.Framework 
    public partial class TestGrid : System.Web.UI.Page 
    { 
 
        protected void Page_Load(object sender, EventArgs e) 
        { 
            if (!IsPostBack) 
            { 
                IPrefetchPath2 prefetchPath = new PrefetchPath2((int)EntityType.CommonPhoneNumberEntity); 
                prefetchPath.Add(MyCommonPhoneNumberEntity.PrefetchPathFrameworkUser); 
                GeneralGridDS.PrefetchPathToUse = prefetchPath; 
 
                RelationPredicateBucket filters = new RelationPredicateBucket(); 
 
                filters.Relations.Add(MyCommonPhoneNumberEntity.Relations.FrameworkUserEntityUsingEnteredByUserId); 
 
                GeneralGridDS.FilterToUse = filters; 
            } 
 
        } 
 
    } 
 

0
Rosen
Telerik team
answered on 09 Oct 2008, 02:01 PM
Hi Cory Benjamin,

Indeed I was able to observe this behavior when using an adapter. However, I am pleased to inform you that our developers addressed this issue and the fix will be available in next version of RadGrid, expected at the beginning of the next month.

As a temporary workaround I suggest you set EnableLinqExpressions to false. Meanwhile I have updated your Telerik points for reporting the problem.

Please excuse us for the inconvenience this might caused you.

Best regards,
Rosen
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Cory Benjamin
Top achievements
Rank 2
answered on 09 Oct 2008, 06:53 PM
Ok, thanks.
0
Elias Ioannides
Top achievements
Rank 1
answered on 09 Jan 2009, 04:47 PM
I am using latest 2008.3 (not hotfixes) and I see the same issue with llblgen datasource (adapter) and radGrid. I presume that it has not been fixed yet. Unfortunately I cannot roll back to a previous edition of telerik so I have to rewrite the whole thing. Could you please inform me if you plan to fix this in another release?

TIA

Ilias
0
Rosen
Telerik team
answered on 09 Jan 2009, 05:27 PM
Hi Elias Ioannides,

Can you please try setting MasterTableVIew's RetrieveDataTypeFromFirstItem property to true and see if this helps?
Please give it a try and let us know about the result.

Regards,
Rosen
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Elias Ioannides
Top achievements
Rank 1
answered on 11 Jan 2009, 10:26 AM
It works now! 

Thanx a lot!
Tags
Grid
Asked by
Cory Benjamin
Top achievements
Rank 2
Answers by
Rosen
Telerik team
Cory Benjamin
Top achievements
Rank 2
Elias Ioannides
Top achievements
Rank 1
Share this question
or