asp.net Blazor Syncfusion数据网格查询

kx7yvsdv  于 2023-10-21  发布在  .NET
关注(0)|答案(2)|浏览(212)

大家好,尊敬的各位。
我有一个关于如何在下面的syncfusion数据网格代码中向WHERE子句添加 * AND * 条件的问题:

  1. <SfGrid DataSource="@detailData" Query="@(new Query().Where("book_name","equal",_data.book_name))" AllowPaging="true">

我想实现的是,我可以从代码中获得1个以上的条件。
谢谢

u91tlkcl

u91tlkcl1#

如果要在查询中应用多个条件,可以使用WhereFilter生成 predicate ,然后将生成的 predicate 传递给GridQuery属性,以便在网格中执行筛选操作。请参考下面的代码片段和文档以供参考。

  1. <SfButton Content="Apply Filter" OnClick="Filter"></SfButton><SfButton Content="Clear Filter" OnClick="ClearFilter"></SfButton><SfGrid DataSource="@Orders" Query="@QueryData" AllowPaging="true">
  1. @code {
  2. public List<Order> Orders { get; set; }
  3. public Query QueryData { get; set; } = new Query();
  4. public void Filter()
  5. {
  6. var Col1Pre = new WhereFilter();
  7. var predicate = new List<WhereFilter>();
  8. predicate.Add(new WhereFilter() { Field = "Freight", value = 2, Operator = "greaterthanorequal" });
  9. predicate.Add(new WhereFilter() { Field = "Freight", value = 15, Operator = "lessthanorequal" });
  10. Col1Pre = WhereFilter.And(predicate);
  11. QueryData = new Query().Where(Col1Pre);
  12. }
  13. public void ClearFilter()
  14. {
  15. QueryData = new Query();
  16. }

参考:https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Data.WhereFilter.html https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Data.WhereFilter.html#Syncfusion_Blazor_Data_WhereFilter_And_Syncfusion_Blazor_Data_WhereFilter_ https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Data.WhereFilter.html#Syncfusion_Blazor_Data_WhereFilter_Or_Syncfusion_Blazor_Data_WhereFilter_

展开查看全部
lbsnaicq

lbsnaicq2#

您可以链接Where方法以在一行中应用多个过滤器,这相当于AND。
Doc

相关问题