我想用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'))
只在第二列上启用它,但它不起作用(它只需要一个字符参数)。有任何想法吗?请注意,我希望右上角的搜索框搜索所有字段,但我只希望第二列上的特定于列的框。
最佳答案
我不相信你可以修改过滤器选项的方面,但你可以通过设置 searchable = FALSE
来禁用它的功能。对于您不想过滤的特定列。
我希望这是你正在寻找的:
DT::datatable(
df, filter = 'top',
options = list(
columnDefs = list(list(targets = 1, searchable = FALSE))
)
)
关于R 和 DT : Show filter option on specific columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36062493/