繁体   English   中英

在Javascript中选择KendoGrid上的多个单元格

[英]Selecting Multiple Cells on a KendoGrid in Javascript

我有一个场景,用户可以在网格上选择多个单元格。 我想验证用户选择并取消选择任何无效的单元格。 我试图在我的网格上的更改功能中实现这一点。 我目前的方法是获取当前选定的单元格,确定哪些单元格有效并选择我找到的有效单元格列表。

根据Kendo的文档,grid.select()函数确实接受一个参数,但只接受一个行数组作为参数。 这解释了为什么以下不起作用。

我需要一个解决方案,允许我设置突出显示的单元格,并检索突出显示的单元格(我目前可以通过grid.select()方法获取选定的单元格)。

有合理的方法吗?

$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()以获得所需的效果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM