Как запретить изменение порядка столбцов в таблице, созданной с использованием ngx-datatable, но все остальные столбцы должны быть изменены

#javascript #angular #typescript #ngx-datatable

#javascript #angular #typescript #ngx-datatable

Вопрос:

я создаю несколько таблиц с помощью инструмента ngx-datatable в angular 4. мне нужен один столбец ie. первый столбец этой таблицы не должен быть изменен, а все остальные столбцы должны быть упорядочены. кто-нибудь может мне помочь?

Комментарии:

1. Вы имеете в виду, что вы не хотите, чтобы ваш первый столбец был «сортируемым»? Например. нет сортировки первого столбца при нажатии на заголовок?

2. нет. я имею в виду, что первый столбец не должен заменяться каким-либо другим столбцом. позиция или порядок первого столбца не должны изменяться.

3. Хорошо, я обновил свой ответ.

Ответ №1:

Вам нужно будет использовать draggable привязку входного свойства.

Я верю в ваш component.html ваш компонент ngx-datatable выглядит примерно так. Для первого ngx-datatable-column вам нужно будет установить draggable свойство первого столбца как false . Что касается других столбцов, вы можете установить draggable значение true , хотя значение draggable по умолчанию равно true, следовательно, на самом деле указывать его не нужно.

 <ngx-datatable #table class="bootstrap" [columns]="dataColumns">
  <!-- First column is not draggable -->
  <ngx-datatable-column [width]="30" [draggable]="false">
                            ...
  </ngx-datatable-column>
  <!-- The other columns are draggable -->
  <ngx-datatable-column *ngFor="let column of dataColumns| slice:1; let i = index;" name="{{column.name}}" prop="{{column.prop}}" [draggable]="true">
  ...
  </ngx-datatable-column>
</ngx-datatable>
  

И в вашем component.ts вам нужно будет определить свой dataColumns .

 dataColumns = [
    {
      prop: 'id',
      name: 'ID'
    },
    .
    .
    // other column definitions

]
  

Комментарии:

1. Спасибо за ваш ответ. мы уже пробовали это. но проблема в том, что всякий раз, когда мы перетаскиваем любой другой столбец в первый столбец, первый столбец автоматически заменяется позицией другого столбца

2. О боже.. Я только что обнаружил эту проблему тоже. Я не думаю, что у меня есть решение для этого. Может быть, вам следует опубликовать это на их странице github вместо этого? Создать проблему или запрос функции?