在DataTables JQuery启动ASP NET之前显示模式

时间:2019-02-25 17:20:39

标签: ajax server datatables backend configure

我正在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集成在一起,但对我们来说,这不是一个(不幸的)选择。

1 个答案:

答案 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 ?
        }
    });

希望有帮助