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 부분을 새롭게 짜야 한다.
관련해서 질문이 있었다.
그것과 관련된 예제
댓글 없음:
댓글 쓰기