Заполните таблицу данных, начиная со второго столбца - PullRequest
1 голос
/ 18 марта 2020

У меня есть таблица данных, которая извлекает данные json из API. Первый столбец таблицы должен содержать только флажок. Однако при получении данных он также заполняет первый столбец.

$.getJSON('https://api.myjson.com/bins/o44x', function(json) {
      $('#parametrictable').DataTable({
      data : json.data,
      columns : json.columns,

      columnDefs: [ {
        orderable: false,
        className: 'select-checkbox',
        targets:   0
    } ],
    select: {
        style:    'os',
        selector: 'td:first-child'
    },
    order: [[ 1, 'asc' ]]
   })
 }); 

Можно ли как-то установить, что данные должны заполнять только начиная со второго столбца, оставляя в первом столбце только флажок?

1 Ответ

1 голос
/ 18 марта 2020

Вы можете решить эту проблему, обновив API или код js, просто изменив значение ключа data на null для первого объекта в массиве json.columns, например:

$.getJSON('https://api.myjson.com/bins/o44x', function(json) {
   json.columns[0].data = null;
   json.columns[0].defaultContent = '';

   $('#parametrictable').DataTable({
      data: json.data,
      columns: json.columns,
      .... your rest of code
   })
});

РЕДАКТИРОВАТЬ:

Я имел в виду, что только ваше предложение было скрыть данные, которые накладывались на флажок. Я не хочу, чтобы это было скрыто. Я хочу, чтобы в первом столбце по умолчанию были только флажки. и перекрывающиеся данные должны быть во 2-м столбце.

Вы можете обновить свой API следующим образом:

"columns": [
   {
      "data": null,
      "defaultContent": ""
   },
   {
      "data": "DT_RowId",
      "title": "Id"
   },
   {
      "data": "supplier",
      "title": "supplier"
   },
   {
      "data": "color",
      "title": "color"
   }
],

Или вы можете обновить свой код без изменения своего API, например:

$.getJSON('https://api.myjson.com/bins/o44x', function(json) {

   // Add object for checkbox at first position
   json.columns.unshift({"data": null, "defaultContent": ""});

   $('#parametrictable').DataTable({
      data: json.data,
      columns: json.columns,
      ....your rest of code
   })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...