Клонирование последнего ряда в сетке - PullRequest
0 голосов
/ 09 февраля 2020

Я что-то упустил, но ... У меня есть рекламная сетка, и я не могу понять, как клонировать последний ряд.

Вот фрагмент того, что я пытаюсь сделать:

lastrow = gridOptions.api.getDisplayedRowAtIndex(
  gridOptions.api.getDisplayedRowCount() - 1
);
gridOptions.api.updateRowData({ add: [lastrow] });

При желании я попытался:

gridOptions.api.updateRowData({ add: lastrow });

, но это тоже не работает.

Я также не могу получить доступ к значению ячейки по имени столбца, например

window.alert(lastrow["1"])

«1» является допустимым именем поля.

Что я делаю неправильно?

Я также должен отметить, что

firstrow = gridOptions.api.getDisplayedRowAtIndex(0);
gridOptions.api.setRowData(firstrow);

вроде работает, но сбрасывает все строки, и мне нужно клонировать последнюю строку, а не удалять все строки, кроме последней.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Так на основе документов , вы можете получить RowNode по индексу:

getDisplayedRowAtIndex(index) Возвращает отображаемое rowNode по заданному индексу.

имейте в виду, он вернет RowNode - не RowNode.data

И получить последний index вам просто нужно использовать другой метод:

getLastDisplayedRow() Получить индекс последней отображаемой строки из-за прокрутки (включая невидимые отображаемые строки в буфере)

теперь, когда вы знаете, как получить RowNode, вам просто нужно выполнить updateRowData с node.data

PS вам нужно использовать RowNode.data - вместо RowNode.

Вот код:

let lastrow = this.gridApi.getDisplayedRowAtIndex(this.gridApi.getLastDisplayedRow());
this.gridApi.updateRowData({ add: [lastrow.data] });

А вот демо

0 голосов
/ 10 февраля 2020

Существует метод API для получения индекса последней отображаемой строки, который может использовать этот индекс для получения строки.

lastRowIndex = gridOptions.api.getLastDisplayedRow();
lastRow = gridOptions.api.getDisplayedRowAtIndex(lastRowIndex);

Не уверен, что это выполнит все, что вы пытаетесь сделать, но на основе от вопроса это получит последнюю отображаемую строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...