【问题标题】:Columndefs not working DatatablesColumndefs 不工作数据表
【发布时间】:2014-12-19 11:56:50
【问题描述】:

我正在尝试使用 columndefs 为列添加自定义颜色。但我从一个简单的场景开始,只是为了让 columndefs 工作。但我无法这样做。

这是我的 CoffeeScript 文件。

jQuery ->
      $('#clients').dataTable
        columns: [
          targets: [0]
          visible: false
        ]
        sAjaxSource: $('#clients').data('source')

我有一个 ROR 应用程序。我正在使用 jquery-datatables-rails gem 版本:2.2.3 https://github.com/rweng/jquery-datatables-rails 安装最新版本的数据表 - 1.10。

我不确定为什么我无法将第 0 列的可见性设置为 false。

【问题讨论】:

  • 您尝试过"columnDefs":[{visible: false, "targets":0}]"columns": [{visible: false}] 中指定的Reference Docs
  • 我刚刚注意到我的评论中有语法错误 visible 应该是 "visible"
  • 我已经尝试过列和列定义。没有帮助。引号也无济于事,因为这是一个 Coffeescript 文件。
  • 问题是你的语法是正确的,coffeescript 的引号是错误的,但你需要修复你的语法才能让它工作。
  • 语法有什么需要改正的?

标签: jquery ruby-on-rails ruby datatables jquery-datatables


【解决方案1】:

您最初使用的格式是“columnDefs”,您必须为所有列指定“column”,请参阅examples

但是我总是遇到两种格式都不起作用的问题,因此解决方法是在使用以下方法初始化列后动态隐藏该列:

$('#clients').DataTable().column( 0 ).visible( false )

【讨论】:

  • 这是唯一对我有用的选项。谢谢你
【解决方案2】:

也许您在目标后缺少逗号:[0]

columns: [
          targets: [0],
          visible: false
        ]

【讨论】:

    【解决方案3】:

    正如 Robbie 在他的回答中所说,您的示例中为列提供的选项实际上是用于 columnDefs 的选项。但是,它应该仍然有效,因为“可见”是列和 columnDefs 的有效属性。由于列选项是基于索引的,因此“targets”属性将被忽略。

    在我意识到 stateSave 选项会覆盖可见的列之前,我也遇到了列可见性问题。尽管您没有在示例中设置 stateSave,但我能想到的可见列不起作用的唯一原因是将 stateSave 设置为 true。

    您可以使用 stateSaveParams 回调详细信息 here 覆盖 stateSave 逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      相关资源
      最近更新 更多