3

Jquery データテーブルを使用してテーブルを作成しています。私が持っているすべての行に行インデックスが必要です。しかし、次のページに切り替えると行インデックスが 1 にリセットされます。行インデックスが最初のページの最後の行から続く必要があります。つまり、ページサイズが 10 の場合、2 ページ目の最初の行は 1 ではなく 11 で始まる必要があります。私の問題は、この画像SAMPLEと同じです。コードの何が問題なのかを確認するのを手伝ってください。どうもありがとう :)

var oTable = $('#myDataTable').dataTable({
                "bServerSide": true,
                "bJQueryUI": true,
                "bProcessing": true,
                "sAjaxSource": sAjaxPage.toString(),
                "sPaginationType": "full_numbers",
                "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                    debugger;
                    var index = iDisplayIndexFull + 1;
                    $("td:first", nRow).html(index);
                    return nRow;
                },
      "fnServerParams": function (aoData) {
                    aoData.push({ "name": "pTransactionDateFrom", "value": pTransactionDateFrom });
                    aoData.push({ "name": "pTransactionDateTo", "value": pTransactionDateTo });
                    aoData.push({ "name": "pTransactionNo", "value": pTransactionNo });
                },
                "aoColumns": [
                        {
                            "bSort": false,
                            "bSearchable": false,
                            "bSortable": false,
                            "bFilter": false
                        },
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null
                    ]
});
4

1 に答える 1

4

私は自分の問題を解決する方法を見つけました。標準ではありませんが、機能しています。:)

"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {

                    var numStart =  this.fnPagingInfo().iStart;

                    var index = numStart +  iDisplayIndexFull + 1;
                    $("td:first", nRow).html(index);
                    return nRow;
                },

データテーブル API はhttp://datatables.net/plug-ins/api#fnPagingInfoです。

$.fn.dataTableExt.oApi.fnPagingInfo = function (oSettings) {
    return {
        "iStart": oSettings._iDisplayStart,
        "iEnd": oSettings.fnDisplayEnd(),
        "iLength": oSettings._iDisplayLength,
        "iTotal": oSettings.fnRecordsTotal(),
        "iFilteredTotal": oSettings.fnRecordsDisplay(),
        "iPage": Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength),
        "iTotalPages": Math.ceil(oSettings.fnRecordsDisplay() / oSettings._iDisplayLength)
    };
};
于 2012-10-19T03:56:13.213 に答える