禁用datatables进行处理

6

我正在使用datatables处理消息,但是当这个消息出现时,我希望能够阻止datatables。这很重要,否则用户可能会使用旧行。

以下是我的配置:

datatableTable = $('#datatableTable').DataTable({
            responsive: true,
            "bLengthChange": false,
            deferRender:    true,
            scrollY:        '60vh',
            scrollCollapse: true,
            scroller:       true,
            "bProcessing": true,

我正在使用这个消息的CSS样式:

div.dataTables_wrapper div.dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -26px;
  text-align: center;
  padding: 1em 0;
  z-index: 9999;
}

有没有一种方法可以阻塞datatable?谢谢


“block datatable” 是什么意思?是指禁用数据表控件元素,如分页和列标题,还是其他什么? - hindmost
那么它与数据表无关。由于您自己在表格中输出输入元素,因此您也必须自己禁用它们。数据表无法为您完成所有工作。 - hindmost
禁用整个数据表不是可能的吗?我看到在处理过程中给出的所有命令都在详细说明的末尾(甚至包括列排序)。 - luca
我希望有一个内置的datatables函数。 - luca
或者您可以创建一个具有固定位置宽度为100%和高度为100%的新div元素,top 0pxleft 0px,并具有透明背景和高于页面的z索引。将其默认设置为display:none,然后在处理某些内容时将其设置为display:block以禁用所有功能。处理完成后,只需隐藏它即可。 - Kebeng
显示剩余2条评论
1个回答

1

您可以禁用鼠标交互:

$("body").addClass("disabled");

还有css:

.disabled {
    pointer-events: none;
}

你还可以在消息和正文之间放置一个固定的覆盖层,并设置一些透明度(如0.5)、黑色背景、适当的z-index等,以使它隐藏在其后面的所有内容。
也许你还应该了解一些关于数据库事务的知识——它们是解决许多数据问题的解决方案。

我已经有了禁用整个页面的模态框,我只是想知道是否可能只禁用表格。 - luca
当然可以 - 你可以为你的表格添加id(例如#tableid),并写入: - alcia
$("#tableid").addClass("disabled"); - alcia
我有同样的问题,是否有办法在数据表正在处理时冻结分页按钮? - suba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接