DataTables 也应用列格式来过滤

Posted

技术标签:

【中文标题】DataTables 也应用列格式来过滤【英文标题】:DataTables apply column formatting to filter also 【发布时间】:2018-03-13 22:29:03 【问题描述】:

当使用filter = 'top' 创建datatable 并且还在列上使用格式设置函数时,格式设置不会应用于该列的过滤器控件。有没有办法格式化过滤器控件?

例如,如果我将浮点数格式化为百分比,过滤器中的滑块仍会显示浮点数。

library(DT)

my_data <- mtcars
my_data$wt_pctile <- trunc(rank(my_data$wt)) / length(my_data$wt)

datatable(my_data,
          filter = 'top') %>%
  formatPercentage('wt_pctile')

【问题讨论】:

嗨,布赖恩。你有没有找到解决这个问题的方法?我的情况一模一样。 【参考方案1】:

不确定是否有办法做到这一点。解决方法可以乘以 100:

my_data$wt_pctile <- my_data$wt_pctile * 100

然后显示为带有 % 符号的字符串:

datatable(my_data, filter = 'top') %>%
  formatString(suffix = "%",columns = "wt_pctile")

【讨论】:

【参考方案2】:

我认为 Yanir 已经成功了一半!如果你乘以 100 然后呢

datatable(my_data, filter = 'top') %>%
  formatCurrency(columns = "wt_pctile", 
  currency = "%", 
  before = FALSE)

这可以防止排序时出现双倍或三倍的 %s。

【讨论】:

以上是关于DataTables 也应用列格式来过滤的主要内容,如果未能解决你的问题,请参考以下文章

jQuery DataTables 仅过滤特定列

对 DataTables 中的过滤列求和

DataTables 列过滤器因 FixedHeader 失败

如何将 DataTables 列过滤器放在顶部

带有选择标签的 dataTables 列过滤插件

单击标题内的输入字段时,DataTables 过滤列