ändern Hintergrundfarbe von mehreren Reihen in rhandsontable
library("rhandsontable")
rhandsontable(data.frame(ID=1:5,var1=rnorm(5), var2=letters[1:5])) %>%
hot_col(c(1,3),
renderer = "function(instance, td, row, col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, arguments);
td.style.background = 'lightblue';
}"
)
einer Verwendung kann die Hintergrundfarbe für ausgewählte Spalten definieren, hier Spalten 1 und 3
Ist es möglich, das gleiche gilt für ausgewählte Zeilen zu tun?
Dies funktioniert, wenn ich die Zeilen direkt Referenz:
library("rhandsontable")
rhandsontable(data.frame(ID=1:5,var1=rnorm(5), var2=letters[1:5])) %>%
hot_cols(
renderer = "function(instance, td, row, col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, arguments);
if (row==1 || row==3 || row==4) td.style.background = 'lightblue';
}"
)
Allerdings habe ich die Zeilenindizes in einem Vektor, dass ich etwas in dieser Richtung versorgen möchte, (was nicht, vermutlich becasue funktioniert die Renderer-Funktion kann sehen myindex
nicht):
myindex <- c(1, 3, 4)
rhandsontable(data.frame(ID=1:5,var1=rnorm(5), var2=letters[1:5])) %>%
hot_cols(
renderer = "function(instance, td, row, col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, arguments);
if (row in myindex) td.style.background = 'lightblue';}
}"
)
Diese Lösung funktioniert auch in einer glänzenden App. Es gibt auch eine Alternative, da 'randsontable' nun einen Parameter akzeptiert, der über den' params' Parameter zugänglich ist. Weitere Informationen finden Sie in der Hilfe zu rsssontable unter "Benutzerdefinierter Renderer mit einem R-Parameter" und dem dort angegebenen Beispiel. Aber die obige Lösung funktioniert genauso gut! Vielen Dank! –