我想使用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'))
仅在第二列上启用它,但它不起作用(它只需要一个字符参数)。有任何想法吗?请注意,我希望右上角的搜索框能够搜索所有字段,但我只希望第二列上的特定于列的框。
答案 0 :(得分:1)
我不相信您可以修改过滤器选项的外观,但是可以通过为不想过滤的特定列设置searchable = FALSE
来禁用其功能。
我希望这是您要寻找的东西:
DT::datatable(
df, filter = 'top',
options = list(
columnDefs = list(list(targets = 1, searchable = FALSE))
)
)