在将serverSide参数设置为true时,我无法在dataTable中添加(并因此显示)行。我使用以下代码。在控制台上打印显示所需的结果,行不会填充数据。在代码中给出的函数build_falt_data中,我需要对代码进行一些处理,并在显示数据表之前为列值添加自定义按钮。
我也遇到了一个奇怪的问题。响应以无限循环显示。请参阅代码中的注释。我无法弄清楚背后的原因。任何帮助将不胜感激。
var self = $(this)
var datatable = $('#example').dataTable( {
"processing": true,
"serverSide": true,
"ajax": {
"url": '/get_json_data.json',
"method":"GET",
success: function(data) {
//Method 1
console.log in build_falt_data shows results in infinite loop
datatable.fnAddData(self.build_falt_data(data));
// Method 2
var falt = self.build_falt_data(data);
//console.log(falt) yeilds true results with out loop repitition but unable to show the results in datatable rows
datatable.fnAddData(falt);
},
dataType: 'json'
}
});
"build_falt_data": function( faltdata ) {
falt_data = {};
$.each( faltdata.data, function(index, faltList ) {
falt_data.push(faltList.var1);
falt_data.push(faltList.var2);
falt_data.push(faltList.var3);
});
// In method 2 only, I am returning this array
return falt_data;
}
答案 0 :(得分:0)
您的代码存在多个问题,但主要原因是您可能不应该使用Control
向VisualStateManager.GoToState
事件处理程序中的表添加数据。
您的代码可以简化如下所示。
fnAddData()