r - 如何抑制 DT 中仅一列的过滤器?
问题描述
我正在使用DT
从 CSV 呈现数据表。一个字段包含 URL,在其中搜索起来非常麻烦。我想禁用对 URL 列的过滤或允许搜索该列是否有任何数据(所以是否有链接?)
我什至不确定从哪里开始将过滤器限制在某些列中。我认为可能添加targets = c(0,1)
到过滤器调用会起作用,但它没有任何影响。
这就是我现在所拥有的:
mydf <- data.frame(
name=c("ABC","DEF","GHI","","MNO","PQR"),
value=1000:1005,
link=c("https://www.example.com/abc", "https://www.example.com/def", "https://www.example.com/ghi","https://www.example.com/jkl", "https://www.example.com/mno", "https://www.example.com/pqr"))
datatable(mydf, options = list(columnDefs = list(
list(targets = 2, render = JS(
"function(data, type, full, meta) {",
"return type === 'display' ?",
"'<a href=\"'+data+'\">linq</a>' : data;",
"}")),
list(targets = c(0,1), className = 'dt-center'),
list(targets = 2, className = 'dt-right')
)),
rownames = FALSE,
filter = list(position = 'bottom', clear = FALSE))
解决方案
您可以searchable = FALSE
为特定列添加。
DT::datatable(mydf, options = list(columnDefs = list(
list(targets = 2, render = JS(
"function(data, type, full, meta) {",
"return type === 'display' ?",
"'<a href=\"'+data+'\">linq</a>' : data;",
"}")),
list(className = 'dt-center'),
list(targets = 2, className = 'dt-right', searchable = FALSE)
)),rownames = FALSE,
filter = 'bottom')
推荐阅读
- angular - Angular 应用程序的 polyfills,使用从 CLI 创建的 web worker
- android - 如何在 PageView 中有不同大小的页面?
- javascript - Discord.js 嵌入命令
- python - 寻找共同的价值,聚在一起
- javascript - Discord.js 命令处理 - 变量问题
- python - 水果机GSCE挑战
- docker - 无法挂载 3 层深的卷(在大多数发行版上)
- python - 算法:IndexError:列表索引超出范围(Python)
- c++ - 为什么需要在索引中添加“0”才能访问数组值?
- swift - 是否只能使用 UITableViewController 使用两指平移手势选择多个项目?