Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Угловой пользовательский интерфейс.сетка. Перемещение строк между двумя сетками

Автор вопроса: LimoJoeОтветов: 2

Недавно я начал использовать angular-ui-grid (http://ui-grid.info/) и попытался создать решение для перемещения строк между двумя разными сетками (именно это решение, но это делается на сетке кендо - http://jsfiddle.net/OnaBai/2qXKy/).

Поскольку я новичок в java-скрипте, мне не удалось воссоздать это в angular-ui-grid. Возникли проблемы с назначением выбранных строк grid1 в grid2 и удалением выбранных строк из grid1.

У кого-нибудь есть готовое решение?

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

РЕДАКТИРОВАТЬ: я добавил быстрый НЕ работающий jsfiddle (http://jsfiddle.net/LimoJoe/n9h7xmw3/4/)

javascriptangularjsangular-ui-grid

Ответы

Ответ 1 · рейтинг 1 · Matt

Вот JSBin, как можно управлять им с помощью двух контроллеров и службы. Он использует ngGrid, но в этом случае все равно должен быть достаточно похож на ui.grid.

Не то чтобы я думал, что ваши проблемы связаны с тем, как вы настраиваете gridOptions, в вашем примере я не видел, где вы установили свойство gridOptions '`selectedItems':

Смотрите правки:

 this.gridOptions = {
     data: 't2.items',
     /** NG Grid way
      selectedItems: []
     */
     /** UI Grid way */
     enableRowSelection: true,
     enableSelectAll: true,
     multiSelect: true,
     onRegisterApi: function(gridApi) {
         $scope.gridApi = gridApi;
         gridApi.selection.on.rowSelectionChanged($scope, function(rows) {
             angular.copy(gridApi.selection.getSelectedRows(), ctl.selectedItems);
         });
      }
 };

Редактировать:

Основываясь на ваших комментариях, вот ответвление статья, на которую вы ссылались, plunkr, которая является обновленной версией. Надеюсь, вы сможете использовать это как отправную точку.

В основном, чтобы использовать ui-grid, начиная с этой статьи, вам необходимо обновить версию angular и UI-сетка.


Редактировать:

Хорошо, ваш JsBin был очень близок, я его отредактировал, вот новая версия, теперь это обновленная версия моего оригинального JsBin, я думаю, что мы уже там!

Ответ 2 · LimoJoe

Окончательное решение здесь JSBin с добавленной функцией обратного вызова gridApi.selection.on.rowSelectionChangedBatch, которую пользователь может использовать с помощью кнопки "Выбрать все" и выбранный список будет обновлен.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы