Angular ui.grid。在两个网格之间移动行

Angular ui.grid. Moving rows between two grids

我最近开始使用 angular-ui-grid (http://ui-grid.info/) 并尝试创建在两个不同网格之间移动行的解决方案(正是这个解决方案,但已经完成在 kendo 网格上 - http://jsfiddle.net/OnaBai/2qXKy/)。

由于我是 java 脚本的新手,所以我未能在 angular-ui-grid 中重新创建它。在将 grid1 的选定行分配给 grid2 以及从 grid1 中删除选定行时遇到一些麻烦。

有人准备好这个解决方案吗?

提前致谢。

编辑:我添加了 quick NOT working jsfiddle (http://jsfiddle.net/LimoJoe/n9h7xmw3/4/)

这里 a JSBin 介绍了如何使用两个控制器和一个服务来管理它。它使用 ngGrid 但在这种情况下应该仍然与 ui.grid 足够相似。

并不是我认为你的问题在于你如何设置 gridOptions,在你的示例中我没有看到你在哪里设置了 gridOptions's '`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);
         });
      }
 };

编辑:

根据您的评论,here's a fork of the article you referenced 的 plunkr 是升级版。希望您可以以此为起点。

基本要用ui-grid,从那篇文章开始,you need to upgrade the version of angular and ui-grid.


编辑:

好的,your JsBin was really close, I edited it, here's the new version,现在它是我原来的 JsBin 的升级版,我想我们已经到了!

这里的最终解决方案 JSBin 添加了用户可以使用的回调函数 gridApi.selection.on.rowSelectionChangedBatch Select 将更新所有按钮和选定列表。