2017-07-21 90 views
-1

我有使用r中的rhandsontable呈现的表。我想将字体颜色更改为特定列的红色。我该怎么做 ?我试着下面的代码,但如果你想改变你的表内元素的样式也不起作用更改rhandsontable中列的字体颜色

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

}) 
+0

我编辑了代码。谢谢 –

回答

1

(在你的情况下,它是一个给定列的每个单元格的字体颜色),你将需要使用一些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()被保存为一个字符串,将被用作hot_col() - 函数的参数renderer 。注意参数td我正在使用反转到您的表的单元格对象。 td有几个属性,其中一个是风格,后者依次为属性颜色。 另请注意,您正在使用正确的Handsontable渲染器。在我的情况下,它是一个TextRenderer但您可以根据您的列的数据类型使用不同的渲染器。

欲了解更多信息,请参阅Handsontable documentation

我希望这会有所帮助。 干杯

+0

非常感谢。我现在明白了。 –