默认的Kendo Grid过滤在一个项目中不起作用,在另一个项目中起作用

时间:2015-05-19 11:20:37

标签: asp.net-mvc razor kendo-grid kendo-asp.net-mvc

我很难搞清楚为什么默认过滤在我的某个项目中不起作用。   网格代码看起来非常相似,控制器方法也是如此。 在其中一个项目中,它可以完美运行,在另一个项目中,“过滤器”按钮出现但无法点击。

可能导致它的任何线索? 客户端过滤对我来说不是一个选项,因为数据量很大。

可过滤项目为过滤器按钮呈现html:

<a class="k-grid-filter" href="javascript:void(0)" tabindex="-1"><span class="k-icon k-filter"></span></a>

不可过滤的项目为过滤器按钮呈现了html:

<a class="k-grid-filter" tabindex="-1"><span class="k-icon k-filter"></span></a>

两个项目中的网格签名看起来都相同:

@(Html.Kendo().Grid<MyModel>()
      .Name("grid")
      .Columns(columns =>
      { 
        //bounding several columns, columns.Bound(x => x.Field);
      })
      .Filterable()
      .DataSource(dataSource =>
      {
          dataSource              
              .Ajax()
              .PageSize(20)
              .Model(model => { model.Id(product => product.Id); })
              .Read(read => read.Action("Index", "Home"))
      }))

控制器:

        [HttpPost]
        public ActionResult Index([DataSourceRequest] DataSourceRequest request)
        {
            var data = repository.GetAll<MyModel>();
            return Json(data.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
        }

1 个答案:

答案 0 :(得分:0)

对于遇到类似问题的任何人来说,我的问题是在包含的javascript文件中, jquery-ui.js 是预先设定的。评论它解决了这个特殊的网格问题。祝你好运!