Ответ 1
В основном эта проблема возникла из-за совпадения совпадений count th to td. убедитесь, что число совпадений соответствует td. Надеюсь, что это поможет вам.
Я не могу разрешить следующую ошибку Datatables:
SCRIPT5007: Невозможно установить свойство "_DT_CellIndex" неопределенной или нулевой ссылки
Я попытался посмотреть по всему Интернету и нашел, что это лучшее решение. Но я все еще не могу решить эту проблему. Я что-то упустил? Я новичок в JavaScript.
В основном эта проблема возникла из-за совпадения совпадений count th to td. убедитесь, что число совпадений соответствует td. Надеюсь, что это поможет вам.
У нас была та же ошибка, что исправлено для нас, это изменение цели (target) в инициализации данных, основанной на количестве столбцов, начинающихся с 0
В нашей таблице у нас было 4 столбца: taget: [3]
$.extend($.fn.dataTable.defaults,{
columnDefs: [{
targets: [3]
}]
});
нашел этот ответ здесь: datatable forums
Простая ошибка: заголовок таблицы имел столбец "без заголовка", но столбец не существовал в самой таблице. Я не видел, чтобы он отсутствовал (потому что o без названия и без границ).
это сработало?
Проверьте количество столбцов таблицы и dtColumnDefs. Если у вас есть 6 столбцов, то ниже будет ваша конфигурация для dtColumnDefs.
self.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0),
DTColumnDefBuilder.newColumnDef(1),
DTColumnDefBuilder.newColumnDef(2),
DTColumnDefBuilder.newColumnDef(3),
DTColumnDefBuilder.newColumnDef(4),
DTColumnDefBuilder.newColumnDef(5)
];
Я починил это. Это был js part vs html.
Проблема возникла, когда я удалил столбец html и забыл удалить столбец js, который выглядит так.
{"name": "Product", "orderable": true, "searchable": true},
Как только я удалил лишний столбец в js, все заработало.
Чтобы решить эту ошибку:
Невозможно установить свойство "_DT_CellIndex" неопределенного
Сначала я говорю вам, что $("id_tu_tabla").Datatable()
имеет минимальное количество столбцов, но это 6. Но если у вас меньше этого, вы указали его, как с помощью этого кода:
$('#table').DataTable({ columnDefs: [ { goals: [4] }] }); }
Кажется, что многие люди получили ошибку из-за несовпадения th и td. Для меня я получил ошибку с тем, что казалось логической ошибкой. Посмотрите код ниже.
Примечание: это я экспериментировал с таблицами данных в Angular 7, улучшая такие вещи, как * ngFor, ng-container, * ngIf, но не обращайте на это внимания, просто посмотрите на структурную разницу кода (поменяйте местами tr
с помощью ng-container
).
Головка стола:
<thead>
<tr>
<th>Name</th>
<th>Surname</th>
<th>Email</th>
<th>Organisation</th>
</tr>
</thead>
Это приводит к ошибке:
<tr *ngFor="let user of users; let index = index">
<ng-container *ngIf="showInactiveUsers">
<td>{{user?.firstName}}</td>
<td>{{user?.lastName}}</td>
<td>{{user?.email}}</td>
<td>{{user?.attributes?.organisation}}</td>
</ng-container>
<ng-container *ngIf="!showInactiveUsers && user?.enabled">
<td>{{user?.firstName}}</td>
<td>{{user?.lastName}}</td>
<td>{{user?.email}}</td>
<td>{{user?.attributes?.organisation}}</td>
</ng-container>
</tr>
Перестановка кода, как показано ниже, устраняет ошибку:
<ng-container *ngFor="let user of users; let index = index">
<tr *ngIf="showInactiveUsers">
<td>{{user?.firstName}}</td>
<td>{{user?.lastName}}</td>
<td>{{user?.email}}</td>
<td>{{user?.attributes?.organisation}}</td>
</tr>
<tr *ngIf="!showInactiveUsers && user?.enabled">
<td>{{user?.firstName}}</td>
<td>{{user?.lastName}}</td>
<td>{{user?.email}}</td>
<td>{{user?.attributes?.organisation}}</td>
<td *ngIf="user?.enabled">
</tr>
</ng-container>
Если вам необходимо показать строку с сообщением "Запись не найдена", как показано ниже
@if(Model.Count==0)
{
<tr>
<td colspan="3">
No record found.
</td>
</tr>
}
затем просто удалите это условие, потому что datatable сам добавляет сообщение "Нет данных в таблице", в моем случае это решает мою ошибку
У меня была похожая проблема, и она была устранена путем удаления знака "$", который был среди названий столбцов. Надеюсь это поможет.