Filtering broke in 2008.2.1001?

8 posts, 0 answers
  1. Cory Benjamin
    Cory Benjamin avatar
    18 posts
    Member since:
    Jul 2006

    Posted 06 Oct 2008 Link to this post

    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.

  2. Rosen
    Admin
    Rosen avatar
    3236 posts

    Posted 07 Oct 2008 Link to this post

    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.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Cory Benjamin
    Cory Benjamin avatar
    18 posts
    Member since:
    Jul 2006

    Posted 07 Oct 2008 Link to this post

    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; 
                } 
     
            } 
     
        } 
     

  5. Rosen
    Admin
    Rosen avatar
    3236 posts

    Posted 09 Oct 2008 Link to this post

    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.
  6. Cory Benjamin
    Cory Benjamin avatar
    18 posts
    Member since:
    Jul 2006

    Posted 09 Oct 2008 Link to this post

    Ok, thanks.
  7. Elias Ioannides
    Elias Ioannides avatar
    2 posts
    Member since:
    Feb 2006

    Posted 09 Jan 2009 Link to this post

    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
  8. Rosen
    Admin
    Rosen avatar
    3236 posts

    Posted 09 Jan 2009 Link to this post

    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.
  9. Elias Ioannides
    Elias Ioannides avatar
    2 posts
    Member since:
    Feb 2006

    Posted 11 Jan 2009 Link to this post

    It works now! 

    Thanx a lot!
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017