Angular Smart Table перетаскивает заголовки с разными элементами td

Я использую плагин Angular Smart Table для данных. Я использую этот plnkr для функции перетаскивания заголовков. Я пробовал, он отлично работает, но проблема в том, что у меня есть разные элементы td, например, такие как флажки, радио и т. Д.

например в его коде

    <tr ng-repeat="row in rowCollection">
    <td ng-repeat="col in columns">{{row[col]}}</td>
    </tr>

Здесь все элементы td похожи, я хочу, чтобы разные элементы я не мог использовать ng-repeat .

Вот мой

<tr ng-repeat="t in displayedCollection">
            <td>{{t.Id}}</td>
            <td>{{t.Title}}</td>
            <td>{{t.Content}}</td>
            <td>{{t.Status}}</td>
            <td><input type="checkbox" ng-model="t.IsActive" disabled="disabled"></td>
            <td><input type="checkbox" ng-model="t.IsCommentAllowed" disabled="disabled"></td>
            <td><input type="checkbox" ng-model="t.IsRatingAllowed" disabled="disabled"></td>
        </tr>

В этом коде заголовки перетаскиваются, а его столбцы - нет. Этот код использует плагин lrDragNDrop для перетаскивания. Что мне делать, это возможно Нужна помощь?


person Ghazanfar Khan    schedule 03.01.2016    source источник
comment
Можете ли вы опубликовать plnkr с неработающим примером?   -  person o4ohel    schedule 04.01.2016
comment
plnkr.co/edit/2MY6thXpgZ2vxC2cavY?p=preview здесь вы можете перетаскивать заголовки но весь столбец не перетаскивается.   -  person Ghazanfar Khan    schedule 04.01.2016


Ответы (1)


Вот plnkr, который работает...

Идея состоит в том, чтобы добавить «другие» типы столбцов в список столбцов, а затем использовать ng-if. Надеюсь, это сработает для вас.

Разметка

 <tr ng-repeat="row in rowCollection">
   <td ng-repeat="col in columns">
     <span ng-if="col != 'cb'">{{row[col]}}</span>
     <span ng-if="col == 'cb'">
       <input type="checkbox" ng-model="row.IsActive">
     </span>
   </td>
 </tr>

JS

$scope.columns=['cb', 'firstName', 'lastName','age','email','balance'];

** ОБНОВЛЕНО (с использованием ng-switch вместо ng-if)

      <tr ng-repeat="row in rowCollection">
          <td ng-repeat="col in columns" ng-switch="col">
            <span ng-switch-default>{{row[col]}}</span>
            <span ng-switch-when="cb">
              <input type="checkbox" ng-model="row.IsActive">
            </span>
          </td>
      </tr>
person o4ohel    schedule 04.01.2016
comment
Хорошо. Есть идея, просто используйте nf-if для проверки имени столбца, который соответствует условию. - person Ghazanfar Khan; 04.01.2016
comment
@Ghazanfar: да, ng-switch было бы лучше ... Я обновлю ответ. - person o4ohel; 04.01.2016