【问题标题】:DataTables that have numbers followed by the percentage sign don't sort in order带有数字后跟百分号的数据表不按顺序排序
【发布时间】:2016-07-20 10:43:13
【问题描述】:

我有一个带有从 jquery datatables gem 安装的数据表的 rails 4.2 应用程序。一切正常,但是当数据有数字后跟一个百分比字符时,它不会以正确的顺序对列进行排序。例如

数字为 11%、9% 和 25% 的行将排序为 11%、25%、9% 而不是 25%、11%、9% 从最高到最低(去掉 % 字符,它们会排序正确)。

我找到了this post on datatables,但它说版本 1.10+ 应该可以按百分比排序。这让我觉得 gem 使用了较低的版本。但是他们在 github 页面上引用了 1.10+ 版本,就好像他们使用的是比它更高的版本。

gem 使用的是低于 1.10 的版本,还是我需要添加某种标签才能进行百分比排序?我无法理解正在发生的事情或我需要做什么才能使百分比排序起作用

【问题讨论】:

  • 您可以直接查看source。所以它使用 v1.10.10
  • @j-dexx 谢谢。我认为它会被埋在某个深处或文件中没有提到的地方,所以我没有费心去寻找。考虑到它有版本号,我现在看起来很傻。
  • 取决于 gem 维护者的好坏。将其留在文件中是有意义的。
  • @power 提到的隐藏列可以工作,但使用数据顺序将是一种更简洁的方法。然而,您的表是用户生成的,因此无法预测,这一事实对这两种解决方案都没有意义。您可以尝试让人们在没有 % 的情况下输入数据,从而产生数字(而不是当前的词法)排序,但您知道用户培训是如何进行的......用户可以创建哪些表完全没有限制?
  • 只是为了给你确认一下,我在我的 4.2 应用程序中添加了一个虚拟表,并添加了一些 价值的数据,百分比排序很好。我的 gemfile 使用安装说明中指定的'jquery-datatables-rails', '~> 3.3.0'。你的不同,但它应该指向最新版本,直接来自 Github。 gem 包括某些插件,谁知道呢,也许旧的百分比插件被包括在内并且把事情搞砸了。更改您的 gemfile,看看会发生什么。

标签: ruby-on-rails ruby-on-rails-4 datatables rubygems


【解决方案1】:

我认为您可以通过使用数字创建隐藏列并在隐藏列的帮助下对实际列进行排序来实现这一点。代码如下所示。

$('table.subnets').dataTable({
  "aoColumns": [
      { "bSortable": true, "sType": "numeric", "iDataSort": 1 },
      { "bSortable": true, "bSearchable": false, "bVisible": false },
  ]
});

这里的第一列是带有“%”符号的列,隐藏的第二列包含数值。所以第一列是在隐藏列的帮助下排序的。希望对您有所帮助!

【讨论】:

  • 感谢您的回答。我想我应该提到这些表格是由用户生成的。我不知道哪些列中会有百分比值,并且并非所有表都有百分比值
猜你喜欢
  • 2020-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多