gpt4 book ai didi

r - 基于 rhandsontable 中的单元格值的颜色行

转载 作者:行者123 更新时间:2023-12-04 15:40:06 29 4
gpt4 key购买 nike

我正在努力根据单元格值在我 Shiny 的应用程序中为整行 rhandsontable 着色。

在下面的示例中,我想格式化整行而不是一个单元格。

library(rhandsontable)

DF = data.frame(val = 1:10, bool = TRUE, big = LETTERS[1:10],
small = letters[1:10],
dt = seq(from = Sys.Date(), by = "days", length.out = 10),
stringsAsFactors = FALSE)

col_highlight = 2
row_highlight = c(5, 7)

rhandsontable(DF, width = 550, height = 300) %>%
hot_cols(renderer = "
function (instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments);

if(value == 'F' | value == 'f') {
td.style.background = 'pink';
} else if(value == 'J' | value == 'j') {
td.style.background = 'lightgreen';
} else if(value == 'X' | value == 'x') {
td.style.background = 'lightblue'}

}")

最佳答案

渲染器的想法是分别应用于所有单元格,因此单元格值不能同时为'F'和'f'。对于每一行,您必须选择第 2 列以检查值是否为“F”,并选择第 3 列以检查值是否为“f”。

rhandsontable(DF, width = 550, height = 300) %>%
hot_cols(renderer = "
function (instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments);

if(instance.getData()[row][2] == 'F' | instance.getData()[row][3] == 'f'){
td.style.background = 'pink';
} else if(instance.getData()[row][2] == 'J' | instance.getData()[row][3] == 'j') {
td.style.background = 'lightgreen';
} else if(instance.getData()[row][2] == 'X' | instance.getData()[row][3] == 'x') {
td.style.background = 'lightblue'
}
}")

关于r - 基于 rhandsontable 中的单元格值的颜色行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45602317/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com