Получить список выбранных строк из сетки кендо в Angular 2+ - PullRequest
0 голосов
/ 22 мая 2018

Я использую Kendo для угловой сетки в приложении Angular 4.У меня есть selectable значение 'true', столбец в моей сетке с kendo-grid-checkbox-column, а selectionChange установлен в функцию, которая принимает параметр события в качестве аргумента.

В моем обработчике selectionChange,массив selectedRows для параметра события содержит только одно значение, независимо от того, сколько строк выбрано.

Спасибо, Джеймс

Мой код:

    onGridSelectionChange(event: SelectionEvent) {
        debugger;
        console.log(event.selectedRows.length); // this is always 1
    };
<kendo-grid *ngIf='!isLoading' style="width:100%; height: inherit;" class="ag-fresh" [data]='gridView' [selectable]="true"
            [pageSize]='pageSize' [skip]='skip' [pageable]='true' (pageChange)='onGridPageChange($event)'
            (selectionChange)='onGridSelectionChange($event)'>

Ответы [ 3 ]

0 голосов
/ 16 ноября 2018

Вы используете неправильное событие сетки.Вы должны использовать selectedKeysChange

<kendo-grid ...
  [kendoGridSelectBy]="'id'"
  (selectedKeysChange)="selectedKeysChange($event)">
  ...
</kendo-grid>

Кроме того, вы должны установить поле, используемое для выбора строки (kendoGridSelectBy).В этом примере это идентификатор.

Получите выбор:

selectedKeysChange(rows: number[]) {
  console.log(rows);
}
0 голосов
/ 20 января 2019

изменить [selectable] = "true" на:

[selectable] = "{enabled: true, mode: 'multiple'}"

, когда я добавил режим: 'множественный«Я смог получить список ..

0 голосов
/ 22 мая 2018

Посмотрите на следующий пример:

ПРИМЕР

Все выбранные ключи хранятся в коллекции (mySelection), которой мы также можем манипулировать, чтобы выбрать / отменить выборстроки программно.Вместо того, чтобы хранить ключи, вы можете сохранить целые объекты, представляющие выбранные элементы данных (связать kendoGridSelectBy с функцией, которая будет возвращать eventArgs.dataItem).

...