DataTables还应用列格式进行过滤

时间:2017-10-02 19:33:59

标签: r datatables shiny formatting dt

使用datatable创建filter = 'top'并在列上使用格式化功能时,格式不会应用于该列的过滤器控件。有没有办法格式化过滤器控件?

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

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')

Percent filter range is not formatted as percentage

2 个答案:

答案 0 :(得分:0)

不确定是否有办法。解决方法可以乘以100:

my_data$wt_pctile <- my_data$wt_pctile * 100

而不是显示为带有%符号的字符串:

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

答案 1 :(得分:0)

我认为亚尼尔(Yanir)在那儿!如果您乘以100然后

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

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