Home > Blockchain >  How do I invert a kendoui grid row selection?
How do I invert a kendoui grid row selection?

Time:10-27

In a KendoUI grid with a selection set to "multiple", how do I invert a current selection?

CodePudding user response:

I came up with the following solution:

var $grid = $("#grid").data("kendoGrid");
var $selectedRows = $grid.select();
$grid.refresh(); // clear existing selection
var selecred_uid = _.map($selectedRows, 'attributes["data-uid"].value'); // using lodash map
var $allRows = $grid.items();
$.each($allRows, function (i, row) {
    var $row = $(row);
    var uid = $row[0].attributes["data-uid"].value;
        if (!selecred_uid.includes(uid)) {
    $grid.select("tr[data-uid='"   uid   "']");
    }
});

CodePudding user response:

You can do it in a simpler way:

const $grid = $("#grid").data("kendoGrid");
const $notSelected = $grid.tbody.find('> tr:not(.k-selected)');
            
$grid.clearSelection();
$grid.select($notSelected);

Dojo

Although it won't works for paged grids. I think it will need a more complex code for that. But for not paged grid its ok.

  • Related