7

我想使用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'))

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

4

1 回答 1

4

我不相信您可以修改过滤器选项的方面,但您可以通过设置searchable = FALSE您不想被过滤的特定列来禁用它的功能。

我希望这是您正在寻找的:

DT::datatable(
  df, filter = 'top',
  options = list(
    columnDefs = list(list(targets = 1, searchable = FALSE))
  )
)
于 2018-12-31T20:16:49.303 回答