2016-09-06 17 views
0

が適用されません。桁区切り記号は、私はjQueryのDataTableの使用

$(document).ready(function() { 

    var table = $('#t_list').DataTable({ 

    "language": { 
     "decimal": ",", 
     "thousands": " ", 
     "emptyTable": _getText("datatable.resultat.zero"), 
     "info": _getText("datatable.zone.statut.info"), 
     "infoEmpty": "", 
     "infoFiltered": _getText("datatable.zone.statut.filtre"), 
     "lengthMenu": _getText("datatable.zone.nb.affichage"), 
     "loadingRecords": _getText("datatable.resultat.chargement"), 
     "processing": _getText("datatable.resultat.processing"), 
     "search": _getText("datatable.zone.filtre"), 
     "zeroRecords": _getText("datatable.resultat.zero"), 
     "paginate": { 
      "first": _getText("datatable.btn.premier"), 
      "previous": _getText("datatable.btn.prcdt"), 
      "next": _getText("datatable.btn.svt"), 
      "last": _getText("datatable.btn.dern") 
     } 
    }, 

    "pagingType": "full_numbers", 

    "serverSide": true, 

    "ajax": "<c:url value='/ajaxDataTableListUsers' />", 

    "columns": [{ 
     "data": "username" 
    }, { 
     "data": "email" 
    }, { 
     "data": "salary" 
    }, { 
     "data": "id" 
    }], 

    "columnDefs": [{ 
     "targets": 2, 
     "className": "alignDroite" 
    }, { 
     "targets": 3, 
     "render": function(data, type, row, meta) { 
      var client_noms = row.username; < c: url 
      var = "url_edit" 
      value = "/edit"/> 
       var url_edit = "${url_edit}?id=" + data; 
      return '<div style="text-align:center;"><a href="' + url_edit + '"><img src="resources/images/edit.png" /></a>&nbsp;' + 
       '<a href="#" id="del_' + data + '" onclick="afficheDlg(\'' + data + '\',\'' + client_noms + '\')"><img src="resources/images/cross.png" /></a></div>'; 
     } 
    }] 

    }); 

}); 

あなたはlanguageオプションで何千パラメータがある見ることができるように。しかし、実行時に書式が適用されません。

enter image description here

はなぜ書式設定が適用されていませんか?

- EDIT - データの

ソースはここにある:

@Override 
    @Transactional 
    public List<User> list(int start, int length, String search, int triIdx, String ordreTri) { 
     Criteria criteres = sessionFactory.getCurrentSession().createCriteria(User.class); 
     if (!search.equals("")) { 
      if (NumberUtils.isNumber(search)) 
       criteres.add(Restrictions.like("salary", Double.parseDouble(search))); 
      else 
       criteres.add(Restrictions.like("username", search, MatchMode.ANYWHERE)); 
     } 
     criteres.setFirstResult(start); 
     criteres.setMaxResults(length); 
     if (ordreTri.equals("asc")) { 
      switch (triIdx) { 
       case 0: 
        criteres.addOrder(Order.asc("username")); 
        break; 
       case 1: 
        criteres.addOrder(Order.asc("email")); 
        break; 
       case 2: 
        criteres.addOrder(Order.asc("salary")); 
        break; 
       default: 
        criteres.addOrder(Order.asc("username")); 
        break; 
      } 
     } else { 
      switch (triIdx) { 
       case 0: 
        criteres.addOrder(Order.desc("username")); 
        break; 
       case 1: 
        criteres.addOrder(Order.desc("email")); 
        break; 
       case 2: 
        criteres.addOrder(Order.desc("salary")); 
        break; 
       default: 
        criteres.addOrder(Order.desc("username")); 
        break; 
      } 
     } 
     criteres.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 
     @SuppressWarnings("unchecked") 
     List<User> listUser = (List<User>) criteres.list(); 
     return listUser; 
    } 

答えて

1

あなたはあなたのデータのソースを示していません。

Datatableshttps://datatables.net/manual/i18n)のdocumenationは、ソートが正しく起こることができるように、あなたのデータを解析するときthousandsdecimalオプションが使用されていることを述べています。 Datatablesはデータをフォーマットし、解析するように設計されているようには見えません。データを表示したいときは、フォーマットする必要があります。

+0

私は 'columnDefs'オプションでSalaireカラムをフォーマットする必要がありますか? – pheromix

+0

何かが 'List 'を 'ajax'パラメータ用のJSONまたはXMLに変換します。 https://datatables.net/manual/ajax#Loading-dataの例では、 "salary": "$ 320,800" 'がJSONに表示されているので、すでにそこでフォーマットされています。 – davidsheldon

関連する問題