データテーブルに行番号(最初の列)を表示しようとしていますが、残りの部分は表示していません。jQuery Datatable - Scrollerが有効なときに行番号を表示
私はこの例に従うことを試みた: https://datatables.net/examples/api/counter_columns.html
を、私は私のDataTableのスクロールを有効にしています。
var data = [];
for (var i=0 ; i<5000 ; i++) {
data.push([
'',
'First Name ' + i,
'Last Name '+ i,
'Postal - ' + i,
'ZIP - '+ i,
'USA' ]);
}
var t = $('#example').DataTable({
data: data,
deferRender: true,
scrollY: 200,
scrollCollapse: true,
scroller: true,
info:false
});
t.on('order.dt search.dt', function() {
t.column(0, {search:'applied', order:'applied'}).nodes().each(function (cell, i) {
cell.innerHTML = i+1;
});
}).draw();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/scroller/1.4.3/js/dataTables.scroller.min.js"></script>
<link href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet"/>
<link href="https://cdn.datatables.net/scroller/1.4.3/css/scroller.dataTables.min.css" rel="stylesheet"/>
<table id="example" class="display nowrap" cellspacing="0" width="100%">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>First name</th>
<th>Last name</th>
<th>ZIP/Post code</th>
<th>Country</th>
</tr>
</thead>
</table>
注:行番号はフィルタに基づいてデータと変更に縛られていません。
ご意見、ご協力をお待ちしております。
これが好きで、イテレータがいくつかのレコードで停止していると思うのですが、スクロールすることができます。200pxに行を繰り返します。この場合、この列をjsonに追加して、動的に反復する必要はありません。この値の変更を5000 pxに設定するとどうなりますか? –
@headmaxは良い点があります。 'scrollY'は' scrollY:200'の数字を '54 'まで使用し、' scrollY:300'の数字は'81'まで使用します。今なぜ...私は言うことができません。 --- 'data'配列の行番号をプッシュすることについての示唆は、その行が" id "の行である場合に行うことです。フィルタリングされた行に番号を付けるだけの場合(行番号はデータに関連付けられず、フィルタに基づいて変更されます)、それは他のものです。 **このケースを明確にしてください** ** –
@LouysPatriceBessette、行番号はデータに関連付けられておらず、フィルタに基づいて変更されます。同じように質問を更新しました。 –