我很难搞清楚为什么默认过滤在我的某个项目中不起作用。 网格代码看起来非常相似,控制器方法也是如此。 在其中一个项目中,它可以完美运行,在另一个项目中,“过滤器”按钮出现但无法点击。
可能导致它的任何线索? 客户端过滤对我来说不是一个选项,因为数据量很大。
可过滤项目为过滤器按钮呈现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);
}
答案 0 :(得分:0)
对于遇到类似问题的任何人来说,我的问题是在包含的javascript文件中, jquery-ui.js 是预先设定的。评论它解决了这个特殊的网格问题。祝你好运!