我正在ASP NET项目中使用DataTables JQuery 1.10.18。
在数据表中包含任何数据之前,我需要显示一个模式对话框,并在完成所有数据表过程之后将其隐藏。
第二部分由...解决
initComplete: function (settings, json) {
$('#loading').modal('hide');
}
其中“加载”是模式的ID。
但是,我的问题是在将所有数据绑定到gridview之前显示它,或者无论如何,在将其绑定到gridview之后显示它,但未应用数据表的样式。
我想做这样的事情:
检索数据-绑定到gridview-显示模式-应用数据表样式-关闭模式。
应用数据表的所有逻辑已经完成并且可以正常工作。我只有一个问题,就是要花很多秒钟。
我当然尝试过
$('#loading').modal('show');
在调用配置数据表的函数之前,但模态显示完成所有配置后。 我也尝试过使用Promise,回调,settimeout,但始终是相同的。
说明
由于项目的后端结构,我们无法使用AJAX发出请求。我们有一个问题,我们决定在项目开始后实施Datatable。 我要澄清这一点,因为我们知道Datatable可以很好地将服务器端进程与AJAX集成在一起,但对我们来说,这不是一个(不幸的)选择。
答案 0 :(得分:0)
试试看!将您的数据表放入这样的div中:
<div id="tableDiv" hidden>
// your table
</div>
然后在加载数据表时使它像这样可见:
$("#yourtable").prop("hidden",false);
编辑:还要使用此功能来知道表格何时完成绘制事件
$('#someTable').on( 'draw.dt', function(){
if (! example.data().any() ) {
console.log("empty");
}else {
console.log("not empty");
//display your table here ?
}
});
希望有帮助