我有一个数据表。第一列是位置,是一个增量,所以示例有1,2,3,4。显示行所在的位置。其余列我想要排序。因此,当按作业数量或总值排序时,第一列保持不变,但其余部分保持不变。
我尝试使用固定列,但这不是我想要的。
<table class="datatable">
<thead>
<tr>
<th>Position</th>
<th class="no-sort">Name</th>
<th class="no-sort">Jobs</th>
<th class="no-sort">Labour</th>
<th class="no-sort">Total</th>
</tr>
</thead>
@{int count = 1;}
@foreach (Model make in Model.Models)
{
<tr>
<td>@(count)</td>
<td>@make.Name</td>
<td>@make.Jobs</td>
<td>@Math.Round(make.Labour, 2)</td>
<td>@Math.Round(make.Total, 2)</td>
</tr>
{ count++; }
}
</table>
var Table = $('.datatable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bScrollCollapse": true,
"bFilter": false, "bInfo": false,
"aaSorting": [[2, 'desc']],
"columnDefs": [ {
"targets": 'no-sort',
"orderable": false,
} ],
"aoColumns": [
{ "bSearchable": false },
{ "bSearchable": false },
{ "bSearchable": false },
{ "bSearchable": false },
{ "bSearchable": false },
{ "bSearchable": false }
]
});
答案 0 :(得分:0)
您可以通过添加包含每行中表格位置的Counter Column
来实现此功能。每当在DataTable上执行searching
和ordering
操作时,您都需要动态添加它。
oTable.on( 'order.dt search.dt', function () {
oTable.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
cell.innerHTML = i+1;
} );
} ).draw();
请参阅此Example进行演示。
答案 1 :(得分:0)
请在您的数据表代码中尝试此操作:
"columnDefs": [
{ "orderable": false, "targets": 0 }
]