Query Builder + Grid... Data not found

Querybuilder + Grid


No data display when i filter data by column type  "date" or "boolean"

But work fine if i filter data by column type "string" or "number"!!!! 

UI Before filter:

UI After filter:



Code:


8 Replies

PP Ping Pong July 11, 2022 06:20 AM UTC

......



YA YuvanShankar Arunagiri Syncfusion Team July 11, 2022 09:04 AM UTC

Hi Ping,


We are validating your query and will update you the details on or before 14th July 2022.


Regards,

YuvanShankar A



PP Ping Pong July 11, 2022 09:33 AM UTC

thanks 
YuvanShankar A



YA YuvanShankar Arunagiri Syncfusion Team July 14, 2022 12:54 PM UTC

Hi Ping,


We have validated your reported query and prepared the sample based on your requirement. Please refer the below code snippet.


@using Syncfusion.Blazor.QueryBuilder

@using Syncfusion.Blazor.Data

@using Syncfusion.Blazor.Grids

 

<div class="col-lg-12 control-section">

  <SfQueryBuilder @ref="querybuilder" TValue="Order">

    <QueryBuilderRule Condition="and" Rules="@importRules"></QueryBuilderRule>

    <QueryBuilderEvents TValue="Order" RuleChanged="UpdateRule" Created="created"></QueryBuilderEvents>

    <SfDataManager Url="https://services.odata.org/V4/Northwind/Northwind.svc/Orders" Adaptor="Syncfusion.Blazor.Adaptors.ODataV4Adaptor"></SfDataManager>

  </SfQueryBuilder>

</div>

 

  <div class="col-lg-12 control-section">

    <div class="content-wrapper">

      <div class="row">

        <SfGrid TValue="Order" DataSource="@gridData" AllowPaging="true">

          <GridEvents Created="created" TValue="Order"></GridEvents>

          <GridColumns>

            <GridColumn Field=@nameof(Order.OrderID) HeaderText="TaskID" TextAlign="TextAlign.Right" Width="120"></GridColumn>

            <GridColumn Field=@nameof(Order.CustomerID) HeaderText="Name" Width="150"></GridColumn>

            <GridColumn Field=@nameof(Order.ShipCity) HeaderText="Category" TextAlign="TextAlign.Right" Width="120"></GridColumn>

            <GridColumn Field=@nameof(Order.ShipCountry) HeaderText="Serial No" Width="150"></GridColumn>

            <GridColumn Field=@nameof(Order.ShippedDate) Format="MM/dd/yyyy" HeaderText="Invoice No" Width="150"></GridColumn>

          </GridColumns>

        </SfGrid>

      </div>

    </div>

  </div>

 

 

 

@code {

    SfQueryBuilder<Order> querybuilder;

    private IEnumerable<Order> gridData { get; set; }

    private List<RuleModel> importRules = new List<RuleModel>();

    private void created()

    {

      if(querybuilder.DataSource == null)

      {

        importRules = new List<RuleModel>()

        {

        new RuleModel { Field = "CustomerID", Label = "CustomerID", Operator = "equal", Type = "String", Value = "VINET" }

        };

      }

      gridData = querybuilder.GetFilteredRecords().ToList().AsEnumerable<Order>();

    }

    private void UpdateRule(RuleChangeEventArgs args)

    {

      if (querybuilder.GetValidRules().Rules.Count > 0)

      {

        gridData = querybuilder.GetFilteredRecords().ToList().AsEnumerable<Order>();

      }

      else

      {

        gridData = querybuilder.DataSource;

      }

      StateHasChanged();

    }

    public class Order

    {

      public int? OrderID { get; set; }

      public string CustomerID { get; set; }

      public string ShipCity { get; set; }

      public string ShipCountry { get; set; }

      public DateTime? ShippedDate { get; set; }

    }

}

 



Could you please check the above sample and get back to us, if you need any further assistance on this. 


Regards,

YuvanShankar A


Attachment: Index_7e8dae5b.zip


TE Teeramed replied to YuvanShankar Arunagiri September 16, 2022 07:23 AM UTC

How about performance if api return 1 Million records or more ?

It's work with grid paging, grid column search or any filter data feature of sfgrid right?

Is there an example that works perfectly together?
query builder + OData API + large data set(1 Milltion or more) + sfgrid(paging, page size, filter, search and others.)


thanks.



TE Teeramed replied to Teeramed September 19, 2022 02:53 AM UTC

...............................



YA YuvanShankar Arunagiri Syncfusion Team September 19, 2022 12:09 PM UTC

Hi Teeramed,


We are validating your query and will update you the details on or before 22nd September 2022.


Regards,

YuvanShankar A



YA YuvanShankar Arunagiri Syncfusion Team September 22, 2022 06:59 AM UTC

Hi Teeramed,


We have prepared an sample as per your shared requirement using OData with grouping paging and filtering and query builder. Kindly check the attached sample for your reference.


Please let us know if you have any concerns.


Regards,

YuvanShankar A


Attachment: SSample154263236_(1)_8c5cd794.zip

Loader.
Up arrow icon