サーバー側でdataTableの並べ替え(順序付け)を実装しています。すべてのsessmsは問題ありません私のデータでさえ適切にソートされます(firebugで確認できます)。問題は、その後datatableがリロードされず、「処理中...」が引き続き表示されることです。リロード用の関数をどこに書くかについての手がかり。私はそれがによって行うことができることを知っています
oTable.fnDraw(true);
しかし、ヘッダーがソートのためにクリックされた後、どこにそれを書くべきかわかりません。デバッグするコードスニペットが必要な場合はお知らせください。
編集1**
グローバル検索を使用したり、noを変更したりしても、テーブルをリロードできません。表示する行の数。なぜこれが起こっているのか考えてみてください???
var oTable = $('#datatable').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "datatableprocessor",
"sPaginationType": "full_numbers",
"fnRowCallback": function (nRow, aData, iDisplayIndex) { return nRow; },
"fnServerData": function ( sSource, aoData, rfrshCallbk ) {
$('.search').each(function(index) {
var name = $(this).attr("name");
var tempName = name.replace("search","condition" );
var condition = $("[name='"+tempName+"']").val();
var value = $(this).val();
aoData.push({ "name": name, "value": value+""+condition });
});
aoData.push({ "name": "queryId", "value": "test" });
$.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": rfrshCallbk
} );
},
"aoColumnDefs": [
{ "sName": "c.id", "aTargets": [ 0 ] },
{ "sName": "c.firstname", "aTargets": [ 1 ] },
{ "sName": "c.lastname", "aTargets": [ 2 ] },
{ "sName": "c.telephone", "aTargets": [ 3 ] }
]
} );//
編集2-----Jsonの着信が正しいかどうかを確認しようとしたので、デバッグするためにコードを次のように変更しました
"success": function(json){
alert(JSON.stringify(json));
rfrshCallbk(json);
}
どちらの場合も、ページをリロードするとき、またはjson文字列の並べ替えを行うときは同じです.. ?? !! ?? 何が悪いのかわからない??!!??