Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中为具有handsontable的特定单元格设置属性?_Javascript_Jquery_Spreadsheet_Handsontable - Fatal编程技术网

Javascript 如何在jQuery中为具有handsontable的特定单元格设置属性?

Javascript 如何在jQuery中为具有handsontable的特定单元格设置属性?,javascript,jquery,spreadsheet,handsontable,Javascript,Jquery,Spreadsheet,Handsontable,我正在使用handsontable开发一些东西,我想创建一个函数来真正添加soem格式。具体来说,我想有一些选项来更改背景颜色和字体属性 我已经能够进入上下文菜单添加一个按钮,以及获取所选单元格的坐标,但是我找不到除了在init调用上为handsontable设置格式选项之外的其他方法 这是我一直在看的文档,我希望其他地方还有更多 我没有代码可供提供,因为这是一个被锁定的项目,但我正在研究如何为不在init上的单个单元格设置格式选项。这需要对文档进行一些挖掘,但我确实找到了它 此示例将为所有选定

我正在使用handsontable开发一些东西,我想创建一个函数来真正添加soem格式。具体来说,我想有一些选项来更改背景颜色和字体属性

我已经能够进入上下文菜单添加一个按钮,以及获取所选单元格的坐标,但是我找不到除了在init调用上为handsontable设置格式选项之外的其他方法

这是我一直在看的文档,我希望其他地方还有更多


我没有代码可供提供,因为这是一个被锁定的项目,但我正在研究如何为不在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如果可以的话我能有一个工作代码吗?