[컴][javascript] DataTables 에서 recordsTotal 의 위치가 다른 경우

datatable / datatables 에서 total 위치 지정 / recordsTotal 위치 지정 / path 지정



recordsTotal 의 format 이 다른 경우



원래 received data 의 가장 밖의 부분에 recordsTotal 이 존재해야 한다.
{
   recordsTotal : 10
   ...


그런데 이부분을 수정하고 싶다면 아래 소스처럼 ajax 부분을 수정해 줘야 한다.

/**
// response json example
{
 response : {
  data : {
   recordsTotal : 10,
   filtered_count : 5
   view_data : [3,4,5,5]
  }
 }

}
*/
var dataSource = function(json){
 var data = json.response.data
 return {
  recordsTotal: data['recordsTotal'],
  recordsFiltered: data['filtered_count'],
  data : data["view_data"]
 };
}, 

this.$table = $("#" + this.tableId).dataTable({
  "processing": true,
  "serverSide": true,
  "ajax": function(data, callback, settings) {
    parameterCallback(data);
    return $.ajax({
      url: url,
      data: data,
      dataType: "jsonp",
      success: function(json) {
        callback(dataSource(json));
      }
    });
  },
  "columns": columns,
  "order": initialOrder,
  "createdRow": fnCreatedRowCallback,
  "preDrawCallback": preDrawCallback,
  "drawCallback": drawCallback
});


DataTables 에서 recordsTotal 이 먼저 set 되고 나서 dataSource 를 호출하게 된다. 그래서 recordsTotal 에 대한 위치를 지정해 줄려면 ajax 부분을 새롭게 짜야 한다.



관련해서 질문이 있었다.



그것과 관련된 예제



댓글 없음:

댓글 쓰기