Как я могу связать массив данных jquery datatable, когда заголовок не зафиксирован и экспортировать в Excel? - PullRequest
0 голосов
/ 05 октября 2018

Я получаю данные ниже:

0: {p3_WoNo: "50446689"}
1: {p3_WoNo: "10842556"}
2: {p3_WoNo: "210001"}
3: {p3_WotType: "2"}
4: {p3_WotType: "2"}
5: {p3_WotType: "2"}

Здесь заголовок не фиксирован, он всегда меняется в разных случаях.Я привязываю динамически привязывать к jquery datatable ниже пути.Я создаю заголовок и тело для таблицы с помощью кода ниже.

Datatable со строкой не является обязательным.Это даёт error.length не определено.Как я могу связать массив данных JQuery Datatable, когда заголовок не исправлен.

function bindDataInlabel(result, wotype) {
    if ($.fn.DataTable.isDataTable('#customSearch')) {
        $("#customSearch").DataTable().destroy();
    }
    var UserId = localStorage.UserId;
    var WOValue = [];
    var options = '';
    //var customSearch=
    var tableBody = "";
    var tableHead = "";
    var columns = [];
    var result = result;
    var wotype = wotype;
    $("#customSearch thead").empty();
    $("#customSearch body").empty();

    customSearch = $("#customSearch").dataTable({
        "info": false,
        "bInfo": true,
        "bProcessing": false,
        "iDisplayLength": 10,
        // "lengthMenu": [[10, 25, 50, 100], [10, 25, 50, 100]],
        "bFilter": false,
        "bSearchable": false,
        "aaSorting": [],
        "dom": 'B<lfrtip>',
        "bProcessing": true,
        "ajax": {
            type: 'GET',
            "url": P3Server + 'CustomSearch/labeldata?Userid=' + UserId + '&dataLabel=' + result + '&woType=' + wotype,
            "dataSrc": function (data) {
                tableBody = tableBody + "<tr>";
                for (var prop in data.LabelData[0]) {
                    if (data.LabelData[0].hasOwnProperty(prop)) {
                        // Append properties such as email, fname, lname etc.
                        tableBody = tableBody + ("<th>" + prop + "</th>");
                        // Also keep a list of columns, that can be used later to get column values from the 'data' object.
                        columns.push(prop);
                    }
                }
                tableBody = tableBody + "</tr>";

                // Create the data rows.
                if (data.LabelData.length>0) {
                    data.LabelData.forEach(function (row) {
                        // Create a new row in the table for every element in the data array.
                        tableBody = tableBody + "<tr>";
                        columns.forEach(function (cell) {
                            // Cell is the property name of every column.
                            // row[cell] gives us the value of that cell.
                            tableBody = tableBody + "<td>" + row[cell] + "</td>";
                        });
                        tableBody = tableBody + "</tr>";
                    });
                    $("#customSearch").append(tableBody);
                }
            }
        },
        "fnInitComplete": function (oSettings) {
        },
        "buttons": [
            {
              extend: 'excelHtml5',
              title: 'Documents List'
            },
        ]
    })
}

Как исправить эту ошибку, а также как сделать экспорт, чтобы преуспеть в этой таблице данных.Я получаю данные успешно, но не могу конвертировать для привязки данных.В случае успешного вызова AJAX данные являются обязательными data.labelData

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...