我有一列代表我的DataTable Grid貨幣價值,我怎麼能正確地訂購此值,因爲dataTable的秩序只能由第一個數字像例如:數據表按編號字段順序
9.000,00
8.000,00
5.454.043,00
4.454.043,00
當然噸帽子它應該是這個樣子:
5.454.043,00
4.454.043,00
9.000,00
8.000,00
我使用number_format
設置我的金錢格式。
PHP:
<td>".number_format($money,2,',','.')."</td>
任何問題,是我的客人。
謝謝。
編輯:
由@Mikhail答案,試試這個,但在3位置列排序不要了。
...
"aoColumnDefs": [
{ "sType": "numeric", "aTargets": [ 3 ] }
],
...
編輯2
更多一點代碼:
PHP:
while(!$res->EOF){
... // post only the 3 <td> position
<td style='text-align: right;'>".number_format($value,2,',','.')."</td>
...
$res->MoveNext();
}
JS的DataTable
var oTable = $('#example').dataTable({
"bJQueryUI": true,
"sScrollY": "225px",
"sScrollX": "100%",
"sScrollXInner": "100%",
"bDestroy" : true,
"bScrollCollapse": true,
"aoColumnDefs": [
{ "sType": "numeric", "aTargets": [ 3 ] }
],
"sDom": '<"H"Tfr>t<"F"ip>',
"oTableTools": {
"sSwfPath": "js/DataTables/extras/TableTools/media/swf/copy_cvs_xls_pdf.swf",
"sRowSelect": "single",
"aButtons": [
{
"sExtends": "xls",
"sButtonText": "Excel"
},
{
"sExtends": "print",
"sButtonText": "Print"
}
]
},
"aaSorting": [[ 0, "asc" ]],
"bPaginate": false
});
解決方案
我的解決辦法是沒有number_format
創建具有價值的新列,隱藏他們像this。尋找其他的排序方式,我發現iDataSort 現在我可以在我的顯示列中格式化任何東西。
yeap,但不工作,不知道爲什麼,但列停止排序。將更新我的問題。 – 2012-02-10 16:48:56
做其他列排序?你確定你沒有一個通用的JS錯誤來阻止其他腳本執行嗎? – Mikhail 2012-02-10 17:02:25
不,在螢火蟲中進行測試,實際上發生了這種情況,但只有1行,所有其他的都停止。 – 2012-02-10 17:06:09