DataTables插件似乎不允许自定义渲染。
我们可以在初始化时使用aTargets和mRender自定义单元格渲染:
"aoColumnDefs": [{
"aTargets": [transaction_id_index],
"mRender": function (data, type, row) {
return 'custom '+data;
}
}]
我该如何对表头做同样的事情?
注意:我使用“显示和隐藏”功能,因此无法直接修改aoColumns中的sTitle。
编辑
我想重命名列标题以最小化列宽。我得到了这样的标题:“ foo_bar”。
目前,我正在使用此方法,但这并不是确定的最佳方法:
'fnInitComplete': function(oSettings, json){
$(table).find("thead tr th").each(function(index) {
$(this).html($(this).html().split("_").join("<br>"));
});
},
"fnDrawCallback": function( oSettings ) {
// TO IMPROVE
$(table).find("thead tr th").each(function() {
if($(this).text().indexOf("_") !== -1) {
$(this).html($(this).text().split("_").join("<br>"));
}
});
}
感谢@kabstergo的提示!
我没有解决这个问题,因为我的解决方案不是“干净的”。
最佳答案
是的,您可以自定义页眉和页脚,因为没有人回答您,请尝试开始。
注意:在数据表内部工作方面,我不是专家。
在我们的网站上,我们具有带有自定义标头的数据表。这是通过这样做
var table = $('#my-datatable');
table.dataTable({
...
'sDom': '<"dataTables_header"lfr>t<"dataTables_footer"ip>',
'fnInitComplete': function(oSettings){
// Style length select
table.closest('.dataTables_wrapper').find('.dataTables_length select').addClass('select blue-gradient glossy').styleSelect();
tableStyled = true;
}
});
就像我说的,我希望它可以帮助您开始做某件事...