Uncaught TypeError: Невозможно прочитать свойство '_detailsShow' из неопределенного в dataTable - PullRequest
0 голосов
/ 26 октября 2018

Я создаю Datatable с RowDetails

Шаги:

1) У меня есть раздел фильтра с DataTable, когда я меняю раскрывающееся значение при событии изменения, я передаю параметр для фильтра

2) при событии изменения сначала я уничтожаю таблицу, затем воссоздаю (заново связываю) ее

3) После уничтожения таблицы и повторного создания, когда я нажимаю наПодробно эта ошибка встречается в третьем ряду.Случайно я получаю эту ошибку: Uncaught TypeError: Невозможно прочитать свойство '_detailsShow' undefined. Эта ошибка появляется, когда я нажимаю кнопку (+) в своей таблице и пытаюсь развернуть строку

 $(function () {
$(document).on("change", "#Project", function () {
    projectName = $('#Project').val();
    $('#Datatable1').dataTable().fnDestroy();
    BindDatatable1();
});});

 function BindDatatable1() {       
    var projectName1 = $('#Project').val();
    projectName = projectName1;
    var url;
    var strdefectstatus = "";
    for (var i = 0 ; i <= defectStatus.length - 1; i++) {
        if (i == 0) {
            strdefectstatus = "Status eq " + "'" + defectStatus[i] + "'";
        } else
            strdefectstatus += " or Status eq " + "'" + defectStatus[i] + "'";
    }
    var siteUrl = '@System.Configuration.ConfigurationManager.AppSettings["SiteUrl"]';
    if (projectName == "" && defectStatus == "") {
        url = siteUrl + "odata/DefDTO";
    }
    else if (projectName == "" && defectStatus != "") {
        url = siteUrl + "odata/DefDTO?$filter=(" + strdefectstatus + ")";
    }
    else if (projectName != "" && defectStatus == "") {
        url = siteUrl + "odata/DefDTO?$filter=(ProjectName eq '" + projectName + "')";
    }
    else {
        url = siteUrl + "odata/DefDTO?$filter=(ProjectName eq '" + projectName + "' and (" + strdefectstatus + "))";
    }
    $('#Datatable1').DataTable({
        "aLengthMenu": [[50, 100, -1], ["50", "100", "All"]],
        "bProcessing": true,
        "scrollX": false,
        "autoWidth": false,
        "bStateSave": true,
        "bServerSide": true,
        "sAjaxSource": url,
        "aaSorting": [[1, "desc"]],
        "aoColumns": [
            {
                "mData": "Defectidstr",
                "defaultContent": "",
                "iDataSort": 1,
                "sType": "num-html",
                "mRender": function (data, type, row) {
                    return "<a title='View' target='_blank' href='View?id=" + row.ID + "'>" + '#' + row.ID + '</a>';
                    //return "<a title='View'  onclick='View(\"" + row.ID + "\")'>" + "#" + row.ID + '</a>';
                }
            },
            {
                "mData": "ID",
                "bVisible": false, className: 'never', "bSearchable": false,
                "sType": "numeric"
            },
            {
                "mData": "ProjectName",
                "sType": "string"
            },
            {
                "mData": "TaskTitle",
                "sType": "string",
                "className": "addwordBreak",
                "mRender": function (data) {
                    if (data != null && data != "") {
                        return FormatMultilineTextToHtml(limitCharaterLength(data, 250));
                    }
                    return "";
                }
            },
            {
                "mData": "Comments",
                "sType": "string",
                className: 'none'
            },
            {
                "mData": "Priority",
                "sType": "string",
                className: 'none'
            },
            {
                "mData": "Owner",
                "sType": "string",
                "width": "100px"
            },
            {
                "mData": "CreatedDate",
                "defaultContent": "",
                "width": "100px",
                "mRender": function (data, type, row) {
                    return formatDate(row.CreatedDate);
                    //  return row.CreatedDate;
                }
            },
            {
                "mData": "RespondedDate",
                "defaultContent": "",
                "width": "100px",
                "mRender": function (data, type, row) {
                    if (data != null && data != "") {
                        return formatDate(row.RespondedDate);
                    }
                    return "";
                    //  return row.CreatedDate;
                }
            },
            {
                "mData": "CreatedBy",
                "sType": "string",
                className: 'none'
            },
            {
                "mData": "DefectStatus",
                "defaultContent": "",
                "width": "90px",
                "className": 'all',
                "mRender": function (data, type, row) {
                    return ProTime.createStatusForDefect(row);
                }
            },
            {
                "mData": "Description",
                "sType": "string",
                className: 'none'
            },
            {
                "mData": "ID",
                "bSortable": false,
                "defaultContent": "",
                "className": 'all',
                "width": "100px",
                "mRender": function (data, type, row) {
                    var jobtitle = '@Model.JobTitleName';
                    if (jobtitle == 'Administrator' || jobtitle == 'Jr SQA') {
                        return "<div class='btn-toolbar'>" +
                        "<button id='btnEdit' class='btn btn-info btn-xs' title='Edit'  onclick='EditDefect(\"" + row.ID + "\")'><i class='fa fa-pencil fa-lg'></i></button>" +
                        "<a class=\"btn btn-danger btn-xs\" href='javascript:void(0);' onclick='confirmDeleteDefect(\"" + row.ID + "\")' title='Delete'><i class='fa fa-trash fa-lg modal-link'></i></a>" +
                        "<button id='btnView' class='btn btn-success btn-xs' title='View'  onclick='View(\"" + row.ID + "\")'><i class='fa fa-eye fa-lg'></i></button>" +
                        "</div>";
                    }
                    else {
                        return "<div class='btn-toolbar'>" +
                       "<button id='btnEdit' class='btn btn-info btn-xs' title='Edit'  onclick='EditDefect(\"" + row.ID + "\")'><i class='fa fa-pencil fa-lg'></i></button>" +
                       "<button id='btnView' class='btn btn-success btn-xs' title='View'  onclick='View(\"" + row.ID + "\")'><i class='fa fa-eye fa-lg'></i></button>" +
                       "</div>";
                    }
                }
            }
        ],
        "responsive": true,
        "fnServerData": fnServerOData,
        "iODataVersion": 4,
        "bUseODataViaJSONP": false, // set to true if using cross-domain requests
        "sDom": 'Tfrt<"bottom"lip>',
        "tableTools": {
            aButtons: [
                {
                    "sExtends": "text",
                    "bFooter": false,
                    "sButtonText": '<i class="fa fa-plus"></i>' + ' Create',
                    "sButtonClass": "DTTT_button_xls project-xlsxp-btn",
                    "fnClick": function () {
                        return AddNewDef();
                    }
                }
            ]
        }
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...