当前位置: 首页 > 知识库问答 >
问题:

DataTable-createdRow结合动态列隐藏/取消隐藏

通典
2023-03-14

我实现了动态的列可见性来隐藏/显示列,例如DT。列(5)。可见(真)DT。列(5)。可见(假)来显示/隐藏列5。我也有一个createdRow的回调,比方说,它用第5列中的文本制作了一个html按钮。

目前在createdRow中,我检查this.api()。列(5)。可见(),如果为真,则继续执行$('td: eq(5)',row)。html('

我希望能够运行代码并将单元格的html缓存在第5列中,这样当它未隐藏时,它就会产生预期的

注意,我知道我可以使用render:function(…){}选项,但我不想使用它,因为它会影响表的原始数据并影响筛选和搜索-我希望原始数据不受影响,这就是我使用createdRowrawCallback回调的原因。

假设列5在DataTable初始化对象中具有visible:false,如下所示:

var DT = $('#dt').DataTable({
  ...
  createdRow: function (row, data) {
    if (this.api().column(5).visible()) {
      $('<button>' + data[5] + </button>')
        .appendTo($('td:eq(5)',row).text(''));
  }
);

干杯


共有1个答案

莫振
2023-03-14

看看如何使用柱状定义和渲染函数来代替...

var DT = $('#dt').DataTable({
    ...
  "columnDefs":[
            {
            'targets':[0],
            'visible':false,
            'render':function(data, type, row, meta){
                 ...
             }
    ]
});

https://datatables.net/reference/option/columns.render

https://datatables.net/reference/option/columns.data

 类似资料:
  • 我有一个代码与许多评论,我如何可以隐藏这些,但没有删除,我需要他们之后。

  • 我们想隐藏“有优惠券吗?添加一张…”在WooCommerce结账时,如果已添加优惠券或客户在结账页面上添加优惠券。 目前,我们在下面有此代码,当客户在购物车页面输入优惠券,然后导航到结帐页面时,此代码有效。在这种情况下,“拥有优惠券?添加一张…”消息不可见。如果购物车页面上未添加优惠券,则消息可见。 这很好用!但是,当客户在结账页面上添加优惠券时,它不起作用。 1.)我们收到消息“优惠券已添加”,

  • 问题:如果距离为空/null,我试图隐藏一个值。 我尝试了以下操作,但该值仍在显示: 和 什么是实现我所期待的正确方法。 以下是我在coldfusion中定义距离的方式: 当我做以下建议时: ng-show="e.distance===未定义" 当我执行其他建议时,例如ng hide=“e.distance”, 以下是提供商包含的内容:

  • 我正在构建一个应用程序,带有页面导航,需要在某些页面上显示状态栏,并在其他页面上隐藏它。我想使用淡入/淡出动画,所以我必须设置 并像这样更新状态栏: 当在页面之间导航时,这个过程非常有效,但我无法在启动时摆脱状态栏。 我试过设置: 将其添加到 将此添加到AppDelegates完成启动时使用了以下选项: 将其添加到初始页面的ViewController: 以及在链接的情节提要元素中将“状态栏”设置

  • 我试图在某一元素条件下隐藏几个聚合物元素。我知道有几种可能性。在我的opinon中,最简单的方法是引入一个新的CSS类 并将其添加到聚合物元素的类列表中 但这对元素没有影响。元素仍然可见。对elment检查器的查看显示,添加了该类: 其中parent-elem是父元素的名称。 谁能解释一下为什么元素不会被隐藏? 谢谢。 问候你,梅森曼

  • 我正在尝试使用OpenPyxl和Python 2.7向现有的XLSX文档添加新的工作表。添加单元格是可行的,但单元格是隐藏的,实际上是整个列。 这是代码: 我在生成的电子表格中没有看到“foo”。