0

我有一个在 R 中使用 rhandsontable 呈现的表格。我想将特定列的字体颜色更改为红色。我该怎么做 ?我尝试了以下代码,但它不起作用

output$hot=renderRHandsontable({
rhandontable (table)%>%
hot_col("colum1", color = "red") 

})
4

1 回答 1

4

如果您想更改表格内元素的样式(在您的情况下,它是给定列的每个单元格的字体颜色),您将需要使用一些 Javascript 并编写一个渲染器函数来完成这项工作,像这样:

# Toy data frame
table <- data.frame(a = 1:10, b = letters[1:10])

# Custom renderer function
color_renderer <- "
  function(instance, td) {
    Handsontable.renderers.TextRenderer.apply(this, arguments);
    td.style.color = 'red';
  }
"

rhandsontable(table) %>%
  hot_col("b", renderer = color_renderer)

该函数color_renderer()保存为字符串,并将用作-function的renderer参数。请注意,我使用hot_col()的参数td指的是表格的单元格对象。td有几个属性,一个是style,它又具有属性color。还要确保您使用的是正确的 Handsontable 渲染器。就我而言,它是一个TextRenderer,但您可以根据您的列所具有的数据类型使用不同的渲染器。

有关详细信息,请参阅Handsontable 文档

我希望这有帮助。干杯

于 2017-08-04T21:14:42.973 回答