1

時間の経過とともに大幅に改善されたデータテーブル v1.10 を使用しています。ただし、インデックス番号を追加しようとしています。

これまでのところ、インデックス番号を追加することはできましたが、検索後にレコードを元のインデックス番号のままにすることはできません。

このテーブルがあるとしましょう:

POSITION NAME
0        Tennis
1        Football
2        Basketball

Basketball で検索すると、次のように POSITION 2 が返されます。

POSITION NAME
2        Basketball

しかし、位置 2 を指定するのではなく、データテーブルは 0 (または 1 から開始したため、私の場合は 1) でもう一度カウントを開始します。

検索後にインデックス番号が正しい値を保持するようにします。

前回使用した時間:

"fnDrawCallback": function ( oSettings ) {
     if ( oSettings.bSorted || oSettings.bFiltered ) {
        for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ ){
            $('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
        }   
     }
},      

これを新しい API に変換しようとしましたが、正しい回避策が見つかりません。

これは私が使用している現在のサーバー側のコードです:

require('ssp.class.php');

$result=SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns );
$start=$_REQUEST['start'] + 1;
foreach($result['data'] as &$res){
    $res["id"]=(string)$start;
    $start++;
}
echo json_encode($result);

およびクライアント側:

$(document).ready(function() {
    var t = $('#table-data').DataTable( {               
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": "index.php",
            "type": "GET"
        },
        "columns": [
            {"data": "position"},
            {"data": "name"},
        ]

    });
});

私の問題は次のようなものです:検索/ソート時に割り当てられた行番号を jQuery データテーブルに保持させる

そこで提案されたコードを試してみましたが、データテーブル v1.10 では機能しないようです (正しい API の命名を変更しました)。

4

1 に答える 1