r语言 - 如何使用DT的SearchPanes扩展定位特定列



我想实现DTSearchPanes扩展,同时显式地包括/排除特定字段,但我不确定如何实现它。我想要显示所有的字段,但是只选择要包含在SearchPanes界面中的字段。

在下面的可重复示例中(主要来自文档),我如何仅选择island,sexyear以包含在SearchPanes中?

我尝试了searchPanestargets参数的不同设置,但我不明白如何使用这些,我还没有很好地遵循JS文档。如能提供有关这些工作原理以及如何选择要包含的列的任何指导,将不胜感激。

library(DT)
library(palmerpenguins)
datatable(
penguins,
options = list(dom = 'Pfrtip', columnDefs = list(list(
searchPanes = list(show = FALSE), targets = 1:4
))),
extensions = c('Select', 'SearchPanes'),
selection = 'none'
)

可能有更好的方法,但这是可行的:

datatable(
penguins,
options = list(
dom = 'Pfrtip', 
columnDefs = list(
list(
searchPanes = list(show = FALSE), targets = c(1, 3:6)
),
list(
searchPanes = list(show = TRUE), targets = c(2, 7:9)
)
)
),
extensions = c('Select', 'SearchPanes'),
selection = 'none'
)

searchPanes参数show可以设置为TRUEFALSE,并且状态被定向到targets参数中定义的特定目标列。

在一行中,我设置了show=FALSE并定义了我不想显示的所有列。然后在下一行,我设置showTRUE并定义我想要显示的列。我发现,如果我将一列设置为show=FALSE,并在下一行将其设置为show=TRUE,它仍然不显示。

DataTables JS库文档很有帮助,但需要一点时间才能理解。columns.searchPanes.show部分包含了答案。每个searchPanes语句都有一些参数和一组目标。如下:

$(document).ready(function() {
$('#example').DataTable({
dom: 'Plfrtip',
columnDefs: [
{
searchPanes: {
show: true
},
targets: [0]
},
{
searchPanes: {
show: false
},
targets: [2]
}
]
});
});

最新更新