如何使用下拉列表过滤Kendo UI MVC网格

索非尼亚

我有一个Kendo网格,可通过将下拉列表中的值推入内置kendo过滤器中进行过滤。在文本框中键入值并搜索时,可以使用相同的方法搜索网格。这是我的剑道网格和下拉菜单

 @(Html.Kendo().DropDownListFor(model => model.MyObject.ID)
           .Name("Objects").DataTextField("Value").DataValueField("Key")
           .BindTo(@Model.MyObjectList).AutoBind(true)
           .HtmlAttributes(new { id = "selectedObject" })
 <a class="button"  onclick="searchGrid()" id="search">Search</a>                       

@(Html.Kendo().Grid<MyViewModel>()
        .Name("MyGrid").HtmlAttributes(new { style = " overflow-x:scroll;" })
        .Columns(columns =>
        {
           columns.Bound(a => a.MyObject.Name).Title("Field 1");
            columns.Bound(a => a.Column2).Title("Field 2");
        }
        .Pageable(page => page.PageSizes(true))
        .Scrollable(src => src.Height("auto"))
        .Sortable()
        .Filterable()
        .Reorderable(reorder => reorder.Columns(true))
        .ColumnMenu()
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(10)
        .Read(read => read.Action("GetList_Read", "MyController"))
        )
    )

  <script>
       function searchGrid()
       {
          selectedObject = $("#selectedObject").data("kendoDropDownList");

          gridFilter = = { filters: [] };

          if ($.trim(selectedRecipient).length > 0) {
        gridListFilter.filters.push({ field: "Field 1", operator: "eq", value: selectedObject});
    }
        }
    var grid = $("#MyGrid").data("kendoGrid");
    grid.dataSource.filter(gridFilter);
  </script>

我的视图模型看起来像

 public class MyViewModel
 {
    public MyObject myObj {get;set;}
    public string Column2 {get;set;}
 }

当搜索字段是文本框时,以上功能有效,但是当我使用下拉菜单时,以上功能不起作用。我认为这是因为当网格中填充了“ MyObject”的名称时,我正在将“ MyObject”的ID推送到网格过滤器中。谁能告诉我如何解决这个问题。谢谢!!

索非尼亚

我发现有两种方法可以解决此问题。一种是将选定的值推入内置的Kendo过滤器中,或者将值传递给控制器​​操作并在服务器端进行过滤。首先将下拉转换事件的选定值存储到名为“ selectedDropDownValue”的对象中

过滤客户端(将值推送到剑道过滤器)

function searchGrid()
{
   var gridListFilter = { filters: [] };
   var gridDataSource = $("#MyGrid").data("kendoGrid").dataSource;

   gridListFilter.logic = "and";   // a different logic 'or' can be selected
    if ($.trim(selectedDropDownValue).length > 0) {
        gridListFilter.filters.push({ field: "MyObject.MyObjectID", operator: "eq", value: parseInt(selectedDropDownValue) });
    }

   gridDataSource.filter(gridListFilter);
   gridDataSource.read();
}

这会将下拉列表的选定值推入内置剑道网格过滤器

过滤服务器端

通过添加数据来编辑数据源读取行

.Read(read => read.Action("GetApportionmentList_Read", "Apportionment").Data("AddFilter"))

然后创建一个javascript函数以添加过滤器

function AddFilter()
{
   return {filter:selectedDropDownValue};
}

然后在搜索网格中的JS函数开始于

function searchGrid()
{
   var gridListFilter = { filters: [] };
   var gridDataSource = $("#MyGrid").data("kendoGrid").dataSource;
   gridDataSource.read();
 }

读取调用之后,您仍然可以添加客户端过滤器,应用过滤器,然后再进行读取调用。控制器签名应如下所示

 public JsonResult GetList_Read([DataSourceRequest] DataSourceRequest request, string filter)

过滤器将包含所选下拉列表的值

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用DropDownList的Kendo MVC UI排序网格

来自分类Dev

Kendo UI网格下拉列表和角度

来自分类Dev

在Kendo UI MVC网格上排序

来自分类Dev

Kendo UI MVC网格行选择

来自分类Dev

在Kendo UI MVC网格上排序

来自分类Dev

Kendo UI MVC网格未更新

来自分类Dev

Kendo UI Mvc网格标题模板

来自分类Dev

引用网格上的Kendo UI(ASP.NET MVC)下拉列表

来自分类Dev

引用网格上的Kendo UI(ASP.NET MVC)下拉列表

来自分类Dev

带有Kendo窗口的Kendo UI MVC网格-500错误

来自分类Dev

将模型从Kendo Mvc UI网格传递到javascript函数

来自分类Dev

Kendo UI网格,MVC工具栏中的搜索框

来自分类Dev

Kendo UI MVC网格DataSourceRequest JavaScript发布其他数据

来自分类Dev

MVC4中的Kendo UI网格单元着色

来自分类Dev

Kendo UI MVC网格-干扰列模板的数据源

来自分类Dev

将模型从Kendo Mvc UI网格传递到javascript函数

来自分类Dev

如何重用Kendo UI网格EditorTemplate并对其进行参数设置(使用ASP MVC)?

来自分类Dev

如何使用JavaScript,React,Angular,Vue或ASP.NET MVC隐藏Kendo UI网格列

来自分类Dev

过滤Kendo UI MVC网格时的自定义谓词构建

来自分类Dev

在Kendo UI MVC网格中,如何向每行添加一个Kendo上传?

来自分类Dev

在ASP.NET MVC中将Kendo MultiSelect与Kendo UI网格一起使用

来自分类Dev

在Kendo MVC网格上的列的标题模板中指定Javascript只会渲染Javascript(Kendo UI MVC)

来自分类Dev

如何在ASP MVC页面中手动对Kendo UI网格进行排序?

来自分类Dev

如何解决ASP.NET MVC Kendo UI网格中的CRUD操作问题

来自分类Dev

如何在MVC的Kendo UI网格中查找特定单词

来自分类Dev

如何在Kendo MVC UI网格中动态更改单元格的背景?

来自分类Dev

使用asp.net MVC包装器在Kendo UI网格中格式化DateTime

来自分类Dev

Kendo UI MVC网格我在编辑时无法使用日期选择器

来自分类Dev

尝试使用ASP.NET MVC从Kendo UI Grid中的子网格重定向时出错

Related 相关文章

  1. 1

    使用DropDownList的Kendo MVC UI排序网格

  2. 2

    Kendo UI网格下拉列表和角度

  3. 3

    在Kendo UI MVC网格上排序

  4. 4

    Kendo UI MVC网格行选择

  5. 5

    在Kendo UI MVC网格上排序

  6. 6

    Kendo UI MVC网格未更新

  7. 7

    Kendo UI Mvc网格标题模板

  8. 8

    引用网格上的Kendo UI(ASP.NET MVC)下拉列表

  9. 9

    引用网格上的Kendo UI(ASP.NET MVC)下拉列表

  10. 10

    带有Kendo窗口的Kendo UI MVC网格-500错误

  11. 11

    将模型从Kendo Mvc UI网格传递到javascript函数

  12. 12

    Kendo UI网格,MVC工具栏中的搜索框

  13. 13

    Kendo UI MVC网格DataSourceRequest JavaScript发布其他数据

  14. 14

    MVC4中的Kendo UI网格单元着色

  15. 15

    Kendo UI MVC网格-干扰列模板的数据源

  16. 16

    将模型从Kendo Mvc UI网格传递到javascript函数

  17. 17

    如何重用Kendo UI网格EditorTemplate并对其进行参数设置(使用ASP MVC)?

  18. 18

    如何使用JavaScript,React,Angular,Vue或ASP.NET MVC隐藏Kendo UI网格列

  19. 19

    过滤Kendo UI MVC网格时的自定义谓词构建

  20. 20

    在Kendo UI MVC网格中,如何向每行添加一个Kendo上传?

  21. 21

    在ASP.NET MVC中将Kendo MultiSelect与Kendo UI网格一起使用

  22. 22

    在Kendo MVC网格上的列的标题模板中指定Javascript只会渲染Javascript(Kendo UI MVC)

  23. 23

    如何在ASP MVC页面中手动对Kendo UI网格进行排序?

  24. 24

    如何解决ASP.NET MVC Kendo UI网格中的CRUD操作问题

  25. 25

    如何在MVC的Kendo UI网格中查找特定单词

  26. 26

    如何在Kendo MVC UI网格中动态更改单元格的背景?

  27. 27

    使用asp.net MVC包装器在Kendo UI网格中格式化DateTime

  28. 28

    Kendo UI MVC网格我在编辑时无法使用日期选择器

  29. 29

    尝试使用ASP.NET MVC从Kendo UI Grid中的子网格重定向时出错

热门标签

归档