javascript - 如何返回我的 Kendo Grid 中所有页面的所有项目的 ID?
问题描述
我需要一些关于我的剑道网格的帮助。绑定数据时,我在网格上运行一个函数,称为initialSelection
. 该函数的目的是选择网格中与通过数组传入的 Id 匹配的所有项目。
这是我的网格代码:
@(Html.Kendo().Grid<MyProject.ViewModels.MyViewModel>()
.Name("CarGrid")
.Columns(columns =>
{
columns.Select().Width(50);
columns.Bound(c => c.Id);
columns.Bound(c => c.Name).Title("Name");
})
.Pageable()
.Sortable()
.Events(ev => ev.DataBound("initialSelection"))
.PersistSelection(true)
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(p => p.Id))
.Read(read => read.Action("GetVessels", "Test"))
))
这是该功能的代码。
function initialSelection(e) {
var arr = [206, 210, 7010, 209],
grid = e.sender,
for (var i = 0; i < grid.items().length; i++) {
if (arr.indexOf(grid.dataItem(grid.items()[i]).Id) > -1) {
grid.select(grid.items()[i]);
}
}
}
所以,这个函数接受一个数组(在函数中定义用于演示目的),并检查这个 Id 的网格,如果找到它们,它会选择该行。问题是该函数逐页运行。由于我有很多数据,所以分页是必须的!
这是我的控制器代码:
public ActionResult GetCars([DataSourceRequest] DataSourceRequest request)
{
var car = unitOfWork.CarRepository.Get().OrderBy(i => i.Name);
var result = car.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
我看过一些关于使用的帖子,dataSource.data()
但我不确定如何实现它。当我进行一些测试时,它仍然只显示 10 个结果,这是启用分页时的默认数字。
有谁知道我如何遍历网格中每一页上的所有行并返回被选中的那些的 ID?
解决方案
推荐阅读
- python - 如何更新 json 文件中字典的值?
- function - Go中区分函数和方法的具体原因是什么?
- ffmpeg - 使用 ffmpeg 检测视频文件中的相同场景
- r - 将文件名附加到R中的数据框
- python - 在 elif 语句说这样做之后,我的变量没有改变
- r - 在R中制作2位数的月份和日期列
- c++ - 我想将以下行存储到 C++ 中的字符串数组中。我该怎么做?
- python-3.x - 在 BeeWare 上创建公文包时出错
- php - 如何同时使用 SQL COUNT 和 mysqli_stmt_num_rows?
- laravel - Laravel:由于添加了中间件,功能测试失败