我想删除"搜索"和"导出(copy,excel,csv,pdf ......等) 按钮"如果数据表中没有数据。
我能够找出数据表的长度是" 0"但无法找到任何解决方案如何删除按钮和搜索控件。
目前数据表正在显示"没有数据可用"这对我来说是必需的。我能够正确显示数据表。
这是我到目前为止所尝试过的。
var table = $('#tblParametersPopUp').dataTable(
{
dom: 'Bfrt',
bPaginate: false,
oLanguage: {
sSearch: '<i class="fa fa-search"> </i>'
},
buttons: [
{
extend: 'copy',
text: '<i class="fa fa-files-o"></i>',
titleAttr: 'Copy'
},
{
extend: 'excel',
text: '<i class="fa fa-file-excel-o"></i>',
titleAttr: 'Excel'
},
{
extend: 'csv',
text: '<i class="fa fa-file-text-o"></i>',
titleAttr: 'CSV'
},
{
extend: 'pdf',
text: '<i class="fa fa-file-pdf-o"></i>',
titleAttr: 'PDF'
},
{
extend: 'print',
text: '<i class="fa fa-print"></i>',
titleAttr: 'Print'
}
]
//,
////initialization params as usual
//fnInitComplete: function () {
// if ($(this).find('tbody tr').length <= 1) {
// $(this).parent().hide();
// }
//}
});
if(table.fnSettings().aoData.length == "0")
{
//alert('no data');
//I want to remove the default search and export buttons here.
}
请帮助!
答案 0 :(得分:0)
为此,您可以使用drawCallback
drawCallback: function (settings) {
$this.datatable.button(0).enable(settings.json.recordsTotal > 0);
$this.datatable.button(1).enable(settings.json.recordsTotal > 0);
$this.datatable.button(2).enable(settings.json.recordsTotal > 0);
}
答案 1 :(得分:-1)
您可以检查表是否为空,如果为空则销毁表并使用搜索禁用
初始化数据表$(document).ready(function() {
var table =$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [
'copyHtml5',
'excelHtml5',
'csvHtml5',
'pdfHtml5'
]
} );
if ( ! table.data().count() ) {
$('#example').dataTable().fnDestroy();
$('#example').DataTable( {
searching: false
})
}
} );