Datatable генерировать другой столбец с оригинальными столбцами - PullRequest
0 голосов
/ 17 октября 2019

Я использую datatable v1.10.13 и веб-приложение asp.net.

Я пытаюсь загрузить данные с помощью ajax, но у меня возникает проблема в одной из моих форм, когда я генерирую данные, которые не совпадаютв столбцах, и я получаю сообщение об ошибке, как показано ниже:

Предупреждение DataTables: таблица id = notifications1sa - запрошенный неизвестный параметр '2' для строки 0, столбец 2. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/4

Мой javascript выглядит следующим образом:

<script>
    $(document).ready(function () {
        $('#sample').DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": {
                "url": "/sample/loadtable",
                "method": "POST"
            },
            "columns": [
                { "data": "title", "title": "Header Title" },
                { "data": "message", "title": "Text Header" }
            ],
            "ordering": true,
            "paging": true,
            "pagingType": "full_numbers",
            "pageLength": 10,
            "language": {
                "url": "/js/plugins/tables/datatables/German.json"
            }
        });
    });
</script>

И мой HTML выглядит так:

<div class="panel panel-flat">
<table id="sample" class="table" style="width: 100%">
</table>

enter image description here

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

Взгляните на defaultContent. Вы можете указать значение по умолчанию для использования, если свойство данных не существует:

...
columns: [
  { data: "title", 
    title: "Header Title" 
    defaultContent: '(not set)'
  },
  { data: "message", 
    title: "Text Header" 
    defaultContent: '(not set)'
  }
],
...
0 голосов
/ 17 октября 2019

Здесь вы вызываете datatable в document.ready, который будет вызываться после создания dom. Затем вы загружаете свои данные. Вот почему он не работает

Вызов datatable при успешном выполнении запроса ajax

...