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