We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: June 24, 2019).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Grid CustomAdaptor menu filter on input error (17.4.40)

Thread ID:

Created:

Updated:

Platform:

Replies:

150336 Jan 2,2020 04:21 PM UTC Jan 6,2020 06:37 AM UTC Blazor 3
loading
Tags: Grid
ashimaz
Asked On January 2, 2020 04:21 PM UTC

When using grid customadapter menu filter, on input following error occurs.



<EjsGrid TValue="BusinessSectorList" ID="Grid" AllowSorting="true" AllowFiltering="true" AllowPaging="true">
    <EjsDataManager AdaptorInstance="@typeof(CustomAdaptor)" Adaptor="Adaptors.CustomAdaptor"></EjsDataManager>
    <GridFilterSettings Type="Syncfusion.EJ2.Blazor.Grids.FilterType.Menu" ></GridFilterSettings>
    <GridPageSettings PageSize="8"></GridPageSettings>
    <GridColumns>
        <GridColumn Field=@nameof(BusinessSectorList.Id) IsPrimaryKey="true" TextAlign="@TextAlign.Center" Width="140"></GridColumn>
        <GridColumn Field=@nameof(BusinessSectorList.Name) Width="150"></GridColumn>
    </GridColumns>
</EjsGrid>

@code {

    public class BusinessSectorList
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    // Implementing custom adaptor by extending the DataAdaptor class
    public class CustomAdaptor : DataAdaptor
    {
        private MyContext db = new MyContext();

        // Performs data Read operation
        public override object Read(DataManagerRequest dm, string key = null)
        {

            IQueryable<BusinessSectorList> DataSource = db.BusinessSector.Select(x => new BusinessSectorList
            {
                Id = x.Id,
                Name = x.Name
            });

            if (dm.Search != null && dm.Search.Count > 0)
            {
                // Searching
                DataSource = DataOperations.PerformSearching(DataSource, dm.Search);
            }
            if (dm.Sorted != null && dm.Sorted.Count > 0)
            {
                // Sorting
                DataSource = DataOperations.PerformSorting(DataSource, dm.Sorted);
            }
            if (dm.Where != null && dm.Where.Count > 0)
            {
                // Filtering
                DataSource = DataOperations.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator);
            }
            int count = DataSource.Cast<BusinessSectorList>().Count();
            if (dm.Skip != 0)
            {
                //Paging
                DataSource = DataOperations.PerformSkip(DataSource, dm.Skip);
            }
            if (dm.Take != 0)
            {
                DataSource = DataOperations.PerformTake(DataSource, dm.Take);
            }
            return dm.RequiresCounts ? new DataResult() { Result = DataSource.ToList(), Count = count } : (object)DataSource.ToList();
        }
    }

Vignesh Natarajan [Syncfusion]
Replied On January 3, 2020 11:34 AM UTC

Hi Ashimaz,  

Greetings from Syncfusion support.  

Query: ”When using grid customadapter menu filter, on input following error occurs.” 
 
We are able to reproduce the reported issue at our end when we bind Iqueryable data directly to Grid. Since it is known issue we have already considered this as a usability feature improvement “Problem with DataOperations when bind IQueryable data to Grid”, and logged a defect report for the same. We are always trying to make our products better and feature requests like yours are a key part of our product growth efforts. Feature will be implemented in any of the upcoming releases.  
 
At the planning stage for every release cycle, we review all open features and identify features for implementation based on specific parameters including product vision, technological feasibility, and customer interest. We have planned to implement this usability feature in our next release 2019 Volume 4 Service Pack 1 which is expected to be rolled out in month end of January 2020.  
 
You can now track the current status of your request, review the proposed resolution timeline, and contact us for any further inquiries through this link.   

 
Until then we suggest you to bind List values to Grid to overcome the problem you are facing. please refer the below code example. 

 
public Object Post([FromBody]DataManagerRequest dm) 
        { 
            // Here we have converted dataSource as list to resolve the problem 
            IEnumerable DataSource = db.Orders.Select(x => new Order 
            { 
                OrderID = x.OrderID, 
                EmployeeID = x.EmployeeID, 
                CustomerID = x.CustomerID 
            }).ToList(); 
. . . . .. . . . . .  
        } 


Please get back to us if you need further assistance. 

Regards, 
Vignesh Natarajan. 


ashimaz
Replied On January 3, 2020 06:56 PM UTC

Thank you.

I believe this is a important usability feature to fix and hoping this will be fixed in next release.
IEnumerable is not efficient way to query database.

Vignesh Natarajan [Syncfusion]
Replied On January 6, 2020 06:37 AM UTC

Hi Ashimaz,  

Thanks for the update.  

Query: “I believe this is a important usability feature to fix and hoping this will be fixed in next release. 

Reported usability feature will be implemented as promised. We will get back to you once our 2019 Volume 4 Service Pack 1 get successfully rolled out which is expected to be rolled out on or before 29th January 2020

Till then we appreciate your patience. 

Regards, 
Vignesh Natarajan. 


CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile
Live Chat Icon