Угловой ui.grid. Перемещение строк между двумя сетками

0

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

Поскольку я довольно новичок в java-скрипте, я не смог создать его в угловом-ui-сетке. Имейте некоторые проблемы, чтобы назначить выбранные строки grid1 в grid2 и удалить выбранные строки из grid1.

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

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

EDIT: я добавил быстрый НЕ рабочий jsfiddle (http://jsfiddle.net/LimoJoe/n9h7xmw3/4/)

Теги:
angular-ui-grid

2 ответа

1
Лучший ответ

Здесь 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, начиная с этой статьи, вам необходимо обновить версию угловой и ui-сетки.


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

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

  • 0
    Я смог сделать то же самое с ngGrid, где я использовал этот источник ( javahonk.com/… ). У меня действительно есть проблемы, особенно с UI-Grid, может быть, я что-то там упускаю. Для selectedItems я устанавливаю $ scope.mySelections. onRegisterApi: function (gridApi) { $scope.gridApi = gridApi; gridApi.selection.on.rowSelectionChanged($scope,function(rows){ $scope.mySelections = gridApi.selection.getSelectedRows(); });
  • 0
    Поэтому для Grid1 у меня есть $ scope.mySelections1 со всеми выбранными элементами, а для Grid2 у меня есть $ scope.mySelections2. Таким образом, с его помощью я смог сделать правильное добавление и удаление выбранных элементов из / в обе сетки. Бот не в состоянии это сделать.
Показать ещё 2 комментария
0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню