2017-05-14 19 views
-1

私は小さな質問をしました。 私のデータテーブルは、AJAXを使用してテーブルの行を収集します。テーブルのソートは6日目です。カラム。Datatables、特定の行が常に最初の行になるようにテーブルをソートする方法は?

特定の行を常に先頭にすることは可能ですか?並べ替えがどうなっても関係なく? 初期ソート後の行の変更位置が問題ではありません。

私のコードは次のようになります。

$('#servertable').DataTable({ 
      "ajax": "/objects.php", 
      "deferRender": true, 
      "order": [[ 5, "desc" ]], 
      "pageLength": 25, 
      "columns": [ 
       { "data": "id" }, 
       { "data": "hostname", 
        "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { 
         $(nTd).html("<a href='/"+oData.url+"'>"+oData.hostname+"</a>"); 
        } 
       }, 
       { "data": "version" }, 
       { "data": "country_cn" }, 
       { "data": "map_id" }, 
       { "data": "players" } 
      ] 
     }); 
+1

私は思います[絶対配置でソートする](https://datatables.net/blog/2016-12-22)を実装したい – mmushtaq

答えて

0

私はこのプラグインをソートする習慣がその場所にある例1、だと思います。私はいつもリストの上に特定の選手を持つことを望んでいると思いますか?あなたが上にとどまるべきプレイヤー名の配列がある場合:

var players = ['Yuri Berry', 'Vivian Harrell']; 

を、あなたは、このようなソートプラグインを実装することができます。

jQuery.extend(jQuery.fn.dataTableExt.oSort, { 
    "players-on-top-asc": function(a, b) { 
    a = ~players.indexOf(a) ? new Array(255).join('a') : a; 
    return a.localeCompare(b); 
    }, 
    "players-on-top-desc": function(a, b) { 
    a = ~players.indexOf(a) ? new Array(255).join('z') : a; 
    return b.localeCompare(a);  
    } 
}); 

は、用法:

$('#servertable').DataTable({ 
    ... 
    "columns": [ 
    ... 
    { "data": "players", type: "players-on-top" } 
    ] 
}); 

見ます小さなデモ、列#2を探す - >http://jsfiddle.net/ryfce85u/

関連する問題