私のテーブル(JQuery Datatables)には、常に最後になければならない行(最後の行)があります(合計用です)。
それらが次のようなものであるため、私はその値を区別することができます:
<td><span class="last-row">MY VALUE</span></td>
どの列が順序付けられているか、および並べ替えがASCであるかDESCであるかに関係なく、この種の行を常に最後に配置するように並べ替え関数を作成するにはどうすればよいですか?
私のテーブル(JQuery Datatables)には、常に最後になければならない行(最後の行)があります(合計用です)。
それらが次のようなものであるため、私はその値を区別することができます:
<td><span class="last-row">MY VALUE</span></td>
どの列が順序付けられているか、および並べ替えがASCであるかDESCであるかに関係なく、この種の行を常に最後に配置するように並べ替え関数を作成するにはどうすればよいですか?
SiGantengが提案することを具体化するために、要素を使用tfoot
してテーブルのフッター行を定義できます。
<table>
<thead>
<tr>
<!-- modern browsers know how to render these, it is also used by screen readers and other assistive technologies -->
<td>header 1</td>
<td>header 2</td>
<td>header 3</td>
</tr>
</thead>
<tfoot> <!--ditto-->
<tr>
<td colspan="3">footer text</td>
</tr>
</tfoot>
<tbody>
<!-- regular html rows & cols here -->
</tbody>
</table>
はい
td要素である必要がある場合は、カスタム関数の並べ替えプラグインを作成する必要があります http://www.datatables.net/plug-ins/sorting
常にnullフィールドを下部に配置するソートプラグインの例を次に示します。nbspをサブスクライブすることで、どのタイプのソートでも列内の特別な値を探すように調整できます。あなたのvalのために、そしてこれをaoColumsstypeで割り当てます
jQuery.fn.dataTableExt.oSort['mystring-asc'] = function(x,y) {
var retVal;
x = $.trim(x);
y = $.trim(y);
if (x==y) retVal= 0;
else if (x == "" || x == " ") retVal= 1;
else if (y == "" || y == " ") retVal= -1;
else if (x > y) retVal= 1;
else retVal = -1; // <- this was missing in version 1
return retVal;
}
jQuery.fn.dataTableExt.oSort['mystring-desc'] = function(y,x) {
var retVal;
x = $.trim(x);
y = $.trim(y);
if (x==y) retVal= 0;
else if (x == "" || x == " ") retVal= -1;
else if (y == "" || y == " ") retVal= 1;
else if (x > y) retVal= 1;
else retVal = -1; // <- this was missing in version 1
return retVal;
}
datatable()関数での割り当て
...
"aoColumns": [
{ "sType": 'mystring' },
...