2014-12-09 4 views
5

Używam najnowszej wersji wtyczki Datatables 1.10.Jquery datatables numery formatu

Mam 3 kolumny (0, 1, 2). Kolumny 1 i 2 zawierają liczby, które powinny być sformatowane jak:

1000 -> 1.000 
10000 -> 10.000 

Szukałem w dokumentacji i znalazłem te istotne funkcje:

https://datatables.net/reference/option/formatNumber

https://datatables.net/reference/option/language.thousands

stanowią kolumny, które wymagają do sformatowania zostanie wykryty automatycznie?

Jakie jest prawidłowe użycie powyższych funkcji?

+1

powinieneś użyć regex wewnątrz 'mR ender' na twoich 'celach [2]' i odpowiednio sformatuj liczbę za pomocą regex i powiąż ją z tabelą w zależności od wymagań. ex: "render": function (data) {// return sformatowana wartość;}}, –

+1

@supercool to działa. możesz napisać odpowiedź na znak jako zaakceptowany – gosom

Odpowiedz

1

Jak wspomniano w moim komentarzu trzeba zrobić coś takiego

Wewnątrz DataTable inicjalizacji:

"aoColumnDefs": [ { 
     "aTargets": [ 2 ], 
    "mRender": function (data, type, full) { 
    var formmatedvalue=data.replace(//regex expression) 
     return formmatedvalue; 
    } 
}] 
1
$('#table-dg').dataTable({ 
    "columns": columnNames, 
    "columnDefs": [ 
    { 
     "render": function (datenter code herea, type, row) { 
     return commaSeparateNumber(data); 
    }, 
    "targets": [1,2] 
    }, 
    ] 
}); 

function commaSeparateNumber(val) { 
    while (/(\d+)(\d{3})/.test(val.toString())) { 
     val = val.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2'); 
    } 
    return val; 
} 
+5

Witamy w stackoverflow! Odpowiadając na pytania, najlepiej dodać opis do podanego kodu odpowiedzi. –

6

Jest rzeczywiście jeszcze łatwiejszy sposób, aby to zrobić, również na dokumentacja danych:

 "columns": [ 
      { "data": "ReceiptQuantity", render: $.fn.dataTable.render.number(',', '.', 2, '') }, 
      { "data": "ReceiptPrice", render: $.fn.dataTable.render.number(',', '.', 2, '') }, 
      { "data": "LineTotal", render: $.fn.dataTable.render.number(',', '.', 2, '') } 
     ], 
+1

Oto dokumentacja: https://datatables.net/manual/data/renderers#Built-in-helpers. Miałem trudności z zlokalizowaniem tego, więc pomyślałem, że link może pomóc innym. –