У меня есть представление, которое отображает модель в таблице. Я использую Razor для отображения таблицы при первой загрузке страницы.DataTables с colspan, Warning: запрошенный неизвестный параметр
Я хочу использовать плагин DataTables.net, чтобы применить сортировку и создать собственную фильтрацию. Я применяю плагин, как так:
var researchTable = $("#research-docs").DataTable({});
При загрузке страницы я получаю модальное ошибку:
Я исследовал это и, кажется, указывает, что я не получил правильное число столбцов или существует несоответствие между данными, которые я обрабатываю, от возвращаемых столбцов.
Мой Бритва Код:
<table id="research-docs" class="table table-hover table-striped table-library-research">
<thead>
<tr>
<th>Date</th>
<th width="250">Title</th>
<th>Sector</th>
<th>Analyst</th>
<th width="70"> </th>
</tr>
</thead>
<tbody>
@foreach (var research in Model.Research)
{
<tr class="clickable">
<td>@research.Date.ToString("dd.MM.yy")</td>
<td><strong>@research.Title</strong><br>@research.SubTitle</td>
<td>
@foreach (var sector in research.Sectors)
{
<a href="/sector/@sector.SectorId">@sector.Name</a>
}
</td>
<td>
@foreach (var analyst in research.Analysts)
{
<a href="/analyst/@analyst.AnalystId">@analyst.Name</a><br>
}
</td>
<td><span class="pull-right clickable"><i class="fa fa-plus"></i></span> <i class="fa fa-file-pdf-o"></i></td>
</tr>
<tr class="collapse">
<td> </td>
<td colspan="4">@research.Body</td>
</tr>
}
</tbody>
</table>
Единственное, что я думаю, что это может быть в том, что у меня есть свернутый ряд, который, как предполагается, появится, если нажать на иконку плюс (т.е. там, где он будет отображать @ research.Body). DataTables.net не похоже на строки, которые используют colspan. Может быть.
Я также думал, что это могло бы быть лучше, чтобы определить данные, которые я хочу показать в явном виде:
var researchTable = $("#research-docs").DataTable({
"columns": [
{ "data": "Date" },
{ "data": "Title" },
{ "data": "sector.Name" },
{ "data": "analyst.Name" },
{
"orderable": false,
"data": null
}
],
"order": [[0, 'desc']]
});
Это привело к ошибке, указывающее мой код (где название сектора я получить для каждого сектора) является некорректным:
Как я могу получить плагин для работы при первой загрузке страницы? Я понимаю, что мне придется подключить некоторые Ajax, чтобы позже применить фильтрацию.
Я уже пробовал это. Я подчеркнул, что в вопросе вначале. –