Я создаю 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();
}
}
]
}
});
};