我使用rhandsontable包在Shiny app中创建交互式表格。
我需要根据其他一些用户操作以以编程方式选择一些单元格。 但是,我在R。
中的rhandsontable包装器中找不到这样的功能同时,在使用selectCell()
的原生Handsontable.js中绝对有可能
功能。我附上小jsfiddle示例:
document.addEventListener("DOMContentLoaded", function() {
var data = [
["", "Ford", "Volvo", "Toyota", "Honda"],
["2014", 10, 11, 12, 13],
["2015", 20, 11, 14, 13],
["2016", 30, 15, 12, 13]
];
var container = document.getElementById('example1');
var hot = new Handsontable(container, {
data: data,
minSpareRows: 1,
rowHeaders: true,
colHeaders: true,
contextMenu: true
});
hot.selectCell(1, 0);
})

</style><!-- --><script src="https://docs.handsontable.com/0.15.0/scripts/jquery.min.js"></script><script src="https://docs.handsontable.com/0.15.0/bower_components/handsontable/dist/handsontable.full.js"></script><link type="text/css" rel="stylesheet" href="https://docs.handsontable.com/0.15.0/bower_components/handsontable/dist/handsontable.full.min.css">
&#13;
<div id="example1" class="hot handsontable"></div>
&#13;
所以,我可以运行shinyjs::runjs('hot.selectCell(1,0);')
,一切都会好的。
但问题是:当在Shiny中使用renderRHandsontable()
函数创建时,如何学习与表关联的JS变量名? (在我的例子中,它被命名为hot
)
谢谢!
亚历
答案 0 :(得分:1)
这篇文章帮助: Search from a textInput to a Handsontable in Shiny
当我通过output$myTab = renderRHandsontable({rhandsontabe(faithful)})
渲染rhandsontable时,我可以在JS getInstance()
中使用以下命令:
HTMLWidgets.getInstance(myTab).hot.selectCell(0,1)