R和DT:在特定列上显示过滤器选项

时间:2016-03-17 13:49:15

标签: r datatables dt

我想使用DT来显示一些数据并仅允许过滤某些列。这段代码:

df <- data.frame(c("john","susy"), c("a", "b"))
names(df) <- c("name", "grade")
DT::datatable(df, filter = 'top')

在每列上创建一个包含过滤选项的表:

现在说我只想让“名称”列的过滤框可见。我怎么做?我以为我可以使用这样的过滤器:

df <- data.frame(c("john","susy"), c("a", "b"))
names(df) <- c("name", "grade")
DT::datatable(df, filter = c('none', 'top'))

仅在第二列上启用它,但它不起作用(它只需要一个字符参数)。有任何想法吗?请注意,我希望右上角的搜索框能够搜索所有字段,但我只希望第二列上的特定于列的框。

1 个答案:

答案 0 :(得分:1)

我不相信您可以修改过滤器选项的外观,但是可以通过为不想过滤的特定列设置searchable = FALSE来禁用其功能。

我希望这是您要寻找的东西:

DT::datatable(
  df, filter = 'top',
  options = list(
    columnDefs = list(list(targets = 1, searchable = FALSE))
  )
)