无法在可反应中呈现没有行数的分组单元格

Posted

技术标签:

【中文标题】无法在可反应中呈现没有行数的分组单元格【英文标题】:Cannot render grouped cells without row count in reactable 【发布时间】:2021-11-22 02:11:03 【问题描述】:

我正在使用 rMarkdown,编织到 html,并尝试在可反应中做一些简单的事情 - 使用 JS 来抑制括号中的行总数。我实际上是从他们自己的指南中复制的,但它不起作用:

reactable Grouped Cell Rendering

data <- MASS::Cars93[10:22, c("Manufacturer", "Model", "Type", "Price", "MPG.city")]

reactable(
  data,
  groupBy = c("Manufacturer", "Type"),
  columns = list(
    Manufacturer = colDef(
      # Render grouped cells without the row count
      grouped = JS("function(cellInfo) 
        return cellInfo.value
      ")
    )
  )
)

我收到以下错误:

Error in colDef(grouped = JS("function(cellInfo) \n return cellInfo.value\n ")) : 
unused argument (grouped = JS("function(cellInfo) \n return cellInfo.value\n "))

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

grouped 参数在包的 CRAN 版本上(尚)不可用。您可以从 github 安装开发版本,然后示例运行。

#install the package from github
#devtools::install_github("glin/reactable")
library(reactable)
data <- MASS::Cars93[10:22, c("Manufacturer", "Model", "Type", "Price", "MPG.city")]

reactable(
  data,
  groupBy = c("Manufacturer", "Type"),
  columns = list(
    Manufacturer = colDef(
      # Render grouped cells without the row count
      grouped = JS("function(cellInfo) 
        return cellInfo.value
      ")
    ),
    Type = colDef(
      # Render grouped cells with the row count, only if there are multiple sub rows
      grouped = JS("function(cellInfo) 
        if (cellInfo.subRows.length > 1) 
          return cellInfo.value + ' (' + cellInfo.subRows.length + ')'
        
        return cellInfo.value
      ")
    )
  )
)

【讨论】:

以上是关于无法在可反应中呈现没有行数的分组单元格的主要内容,如果未能解决你的问题,请参考以下文章

如何从可反应中的单元格呈现按钮触发带有observeEvent的modalBox?

Handsontable,设置单元格中的可见行数

在excel中用VBA如何实现对非空单元格行数的统计。

在可编辑单元格中写入值时如何捕获 DataGridView 验证错误?

使用类似“标签”的单元格设置 collectionView

试图获取单元格中文本字段的行数和部分