在 Javascript 中选择 KendoGrid 上的多个单元格
Selecting Multiple Cells on a KendoGrid in Javascript
我有一个场景,其中用户能够 select 网格上的多个单元格。我想验证用户 selection 和 deselect 任何无效单元格。我试图在我的网格上的更改功能中实现这一点。我目前的方法是获取当前 selected 单元格,确定哪些单元格有效,然后 select 我找到的有效单元格列表。
根据Kendo的文档,grid.select() 函数确实接受一个参数,但只接受一个行数组作为参数。这解释了为什么以下内容不起作用。
我需要一个解决方案,它允许我设置突出显示哪些单元格并检索突出显示的单元格(我目前可以通过 grid.select() 方法获得 selected 单元格)。
有合理的方法吗?
$scope.myKendoGridOptions = {
selectable: "multiple, cell",
change: function (e) {
if (!$scope.jsSelectChangeEvent) {
var grid = $('#myKendoGrid').data("kendoGrid");
var selectedItems = grid.select();
if (selectedItems.length > 1) {
var validItems = [];
var validRowIndex = selectedItems[0].closest("tr").rowIndex;
for (var i = 0; i < selectedItems.length; i++) {
if (selectedItems[i].closest("tr").rowIndex === validRowIndex) {
validItems.push(selectedItems[i]);
}
}
//Avoids Infinite loop
$scope.jsSelectChangeEvent = true;
//im expecting this to select my valid cells, but it has no effect
grid.select(validItems);
}
} else {
$scope.jsSelectChangeEvent = false;
}
}
};
grid.select(validItems) 接受单元格作为参数。问题是我需要在调用 grid.select 之前调用 grid.clearSelect() 以获得所需的效果。
我有一个场景,其中用户能够 select 网格上的多个单元格。我想验证用户 selection 和 deselect 任何无效单元格。我试图在我的网格上的更改功能中实现这一点。我目前的方法是获取当前 selected 单元格,确定哪些单元格有效,然后 select 我找到的有效单元格列表。
根据Kendo的文档,grid.select() 函数确实接受一个参数,但只接受一个行数组作为参数。这解释了为什么以下内容不起作用。
我需要一个解决方案,它允许我设置突出显示哪些单元格并检索突出显示的单元格(我目前可以通过 grid.select() 方法获得 selected 单元格)。
有合理的方法吗?
$scope.myKendoGridOptions = {
selectable: "multiple, cell",
change: function (e) {
if (!$scope.jsSelectChangeEvent) {
var grid = $('#myKendoGrid').data("kendoGrid");
var selectedItems = grid.select();
if (selectedItems.length > 1) {
var validItems = [];
var validRowIndex = selectedItems[0].closest("tr").rowIndex;
for (var i = 0; i < selectedItems.length; i++) {
if (selectedItems[i].closest("tr").rowIndex === validRowIndex) {
validItems.push(selectedItems[i]);
}
}
//Avoids Infinite loop
$scope.jsSelectChangeEvent = true;
//im expecting this to select my valid cells, but it has no effect
grid.select(validItems);
}
} else {
$scope.jsSelectChangeEvent = false;
}
}
};
grid.select(validItems) 接受单元格作为参数。问题是我需要在调用 grid.select 之前调用 grid.clearSelect() 以获得所需的效果。