Javascript 如何在jQuery中为具有handsontable的特定单元格设置属性?
我正在使用handsontable开发一些东西,我想创建一个函数来真正添加soem格式。具体来说,我想有一些选项来更改背景颜色和字体属性 我已经能够进入上下文菜单添加一个按钮,以及获取所选单元格的坐标,但是我找不到除了在init调用上为handsontable设置格式选项之外的其他方法 这是我一直在看的文档,我希望其他地方还有更多Javascript 如何在jQuery中为具有handsontable的特定单元格设置属性?,javascript,jquery,spreadsheet,handsontable,Javascript,Jquery,Spreadsheet,Handsontable,我正在使用handsontable开发一些东西,我想创建一个函数来真正添加soem格式。具体来说,我想有一些选项来更改背景颜色和字体属性 我已经能够进入上下文菜单添加一个按钮,以及获取所选单元格的坐标,但是我找不到除了在init调用上为handsontable设置格式选项之外的其他方法 这是我一直在看的文档,我希望其他地方还有更多 我没有代码可供提供,因为这是一个被锁定的项目,但我正在研究如何为不在init上的单个单元格设置格式选项。这需要对文档进行一些挖掘,但我确实找到了它 此示例将为所有选定
我没有代码可供提供,因为这是一个被锁定的项目,但我正在研究如何为不在init上的单个单元格设置格式选项。这需要对文档进行一些挖掘,但我确实找到了它 此示例将为所有选定单元格提供红色字体
callback: function (key, options) {
var cell = $("#dataBlock'. $val['id'] .'").handsontable(\'getSelected\');
var startRow = cell[0];
var startCol = cell[1];
var endRow = cell[2];
var endCol = cell[3];
if (key === "redFont") {
setTimeout(function () {
curRow = startRow;
curCol = startCol;
while(curRow <= endRow){
curCol = startCol;
while(curCol <= endCol){
check = $("#dataBlock'. $val['id'] .'").handsontable("getCell", curRow, curCol);
check.style.color = "red";
curCol += 1;
}
curRow += 1;
}
}, 100);
}
}
回调:函数(键、选项){
var cell=$(“#数据块“.$val['id']”)。可手持(\'getSelected\);
var startRow=单元格[0];
var startCol=单元[1];
var endRow=单元格[2];
var endCol=单元格[3];
如果(键==“红色字体”){
setTimeout(函数(){
curRow=startRow;
curCol=startCol;
而(curRow定义渲染器函数
function valueRenderer(instance, td, row, col, prop, value, cell) {
if (row === 0 && col === 1) {
$(td).css('color', 'green');
}
if (col > 3) {
$(td).addClass('custom');
}
if (col === 5) {
cellProperties.readOnly = true;
}
if (col > 3 && col < 10) {
cellProperties.type = 'numeric';
}
....
....
so on...
}
cells: function (row, col, prop) {
var cellProperties = {};
cellProperties.renderer = valueRenderer;
return cellProperties;
}
通过这种方式,您可以更改属性、应用类、动态更改颜色等。如果使用jQuery,您可以使用标准的addClass/removeClass函数
我有一个页面全局可手持实例,我称之为“热”。
给定rowNum和colNum:
var cell = hot.getCell(rowNum,colNum);
$(cell).addClass('yellow');
我尝试了jomofrodo的解决方案,但在尝试使用类更改背景颜色时,该方案并不奏效,但它确实激发了一些有用的东西:
var cell = handsOnTable_Conditions.getCell(x_coord,y_coord);
$(cell).css('background-color','red');
但是,与直接更改样式的解决方案相比,直接更改类具有灵活性的优势。谢谢,我正在寻找类似的功能。我无法使用cellProperties.type='numeric';
将类型和源代码应用于handsontable。我有什么做错的吗?我遵循您的技术。对于rendrer如果可以的话我能有一个工作代码吗?