我试图使用JQuery Datatables在我的表格的页脚中显示SUM(),默认排序为50.我认为我的问题源于我缺乏JQuery经验,但我不确定。以下是我的语法:
model_parameters.dirs['labels'] = '/labels/'
出现错误:
未捕获的TypeError:无法读取未定义的属性'sDefaultContent' 在B(datatables.min.js:sourcemap:92)
at t.Xb(datatables.min.js:sourcemap:196)
at t.iterator(datatables.min.js:sourcemap:175)
在t。 (datatables.min.js:sourcemap:199)
在t。 (datatables.min.js:sourcemap:179)
at t.data(datatables.min.js:sourcemap:178)
at totalColumn(ar-detail-summary:468)
在n.fn.init.footerCallback(ar-detail-summary:496)
在datatables.min.js:sourcemap:150
在Function.map(datatables.min.js:sourcemap:14)
如果我删除这些行(或将它们注释掉),则会显示网格(没有排序和显示按钮)。
$(document).ready(function() {
$('#example').DataTable({
dom: 'B<"clear">lfrtip',
buttons: ['csv', 'excel', 'print'],
"iDisplayLength": 50,
footerCallback: function(row, data, start, end, display) {
var api = this.api(),
data;
var intVal = function(i) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '') * 1 :
typeof i === 'number' ?
i : 0;
};
var totalColumn = function(colNum) {
// Total over all pages
total = api
.column(colNum)
.data()
.reduce(function(a, b) {
return intVal(a) + intVal(b);
}, 0);
pageTotal = api
.column(colNum, {
page: 'current'
})
.data()
.reduce(function(a, b) {
return intVal(a) + intVal(b);
}, 0);
$(api.column(colNum).footer()).html(
'$' + pageTotal + ' ( $' + total + ' total)'
);
}
totalColumn(2);
totalColumn(3);
totalColumn(4);
totalColumn(5);
totalColumn(6);
totalColumn(7);
totalColumn(8);
totalColumn(9);
}
});
});
如何编辑此语法以提供默认排序50,具有“打印”按钮以及向页脚添加总和?
修改
这就是我的表的设置方式,并从MS SQL查询结果中填充
dom: 'B<"clear">lfrtip',
buttons: ['csv', 'excel', 'print'],
"iDisplayLength": 50,
答案 0 :(得分:0)
据我所知,这个答案的引用是正确的:Change the default number of rows to display on one "page"。
根据DataTables的版本,在回答stackoverflow问题时列出了三种可能的解决方案。
我尝试从上方导入您的代码,我的DataTable内容显示,但在控制台中,按钮打印只有一个错误。如果你仍然会挣扎,请添加评论,我会看看我能做些什么。
希望这有帮助!