2015-11-25 3 views
0

Таблица в проекте теперь реализована следующим образом:Как я могу редактировать содержимое <td> с использованием угловых datatables?

<table datatable="" dt-options="vm.dtOptions" dt-columns="vm.dtColumns" class="table table-custom"></table> 

код, связанный с этой таблицей:

vm.dtColumns = [ 
     DTColumnBuilder.newColumn('id', 'Login ID'), 
     DTColumnBuilder.newColumn('username', 'User Name'), 
     DTColumnBuilder.newColumn('email', 'Email'), 
     DTColumnBuilder.newColumn('usergrouproles', 'User Group Role'), 
     DTColumnBuilder.newColumn(null).withOption('defaultContent', '<button>button1</button><button>button2</button>').notSortable(), 
     DTColumnBuilder.newColumn(null).withOption('defaultContent', '<button>button3</button><button>button4</button><button>button5</button>').notSortable() 
    ]; 

    vm.dtOptions = DTOptionsBuilder 
     .newOptions() 
     .withBootstrap() 
     .withFnServerData(serverData) 
     .withDataProp('data') 
     .withOption('processing', true) 
     .withOption('serverSide', true) 
     .withOption('paging', true) 
     .withOption('rowCallback', function(row, data, index){ 
      console.log("test rowCallback"); 
     }) 

    function serverData(sSource, aoData, fnCallback, oSettings) { 
     var draw = aoData[0].value; 
     var _order = aoData[2].value[0].dir.toUpperCase(); 
     var _start = aoData[3].value; 
     var _end = _start + aoData[4].value; 
     var _sort = aoData[1].value[aoData[2].value[0].column].data; 

     UserSvc.getUsersPaginated(_start, _end, _order, _sort).then(function(result){ 

      var records = { 
       'draw': draw, 
       'recordsTotal': result.length, 
       'recordsFiltered': result.totalCount, 
       'data': result 
      }; 
      fnCallback(records); 
     }); 
    } 

На данный момент, кажется, все в порядке, за исключением «Group роли пользователя» столбец - данные есть в форме объекта, поэтому мне нужно расширить его там, используя ng-repeat. Я знаю об обратном вызове initComplete, который я должен применить наконец, но я не могу получить, как бы я мог выполнить расширение. Я имею в виду, что я хочу работать в каждой ячейке, но у меня есть только доступ ко всей строке. Я попробовал функцию renderWith() в vm.dtColumns, но она вообще не работает. Не могли бы вы показать мне правильное направление?

+1

И, наконец, я нашел его. Он управляется параметром createdCell, например: .withOption ('createdCell', withCreatedActionsCell). Как в мире я мог бы пропустить это .... – Nervosa

+0

Вы должны сами дать ответ и пометить его как принятый. Я уверен, что это может помочь людям в будущем ... – davidkonrad

ответ

0

И наконец я нашел его. Он управляется параметром createdCell, например: .withOption ('createdCell', withCreatedActionsCell).