自定义渲染功能handsontable插件不工作(Custom renderer function

2019-09-26 17:30发布

我有一个处理一些功能onChange事件和行之有效的。 这个函数调用另一个来检查单元格的内容,如果有错,应该更改单元格颜色。

function Check(x, y)
{
    var content =   $editorTableContainer.handsontable('getDataAtCell', y, x);
    var split   =   content.split(' ');    

    $.each(split, function (key, value) {
        $.get('check.php?word=' + value, function (data) {
            //blank if no error otherwise it returns an array of suggestions (only need to check if there is an error)
            if (data) {
                alert("test");
                var meta = $editorTableContainer.handsontable('getCellMeta', y, x);
                meta.renderer = ErrorRenderer;
            }
        });
    });

    return;
}

这里是我的简单ErrorRenderer:

function ErrorRenderer(instance, td, row, col, prop, value, cellProperties)
{
  Handsontable.TextCell.renderer.apply(this, arguments);
  console.log(row);
  td.style.fontWeight = 'bold';
  td.style.color = 'green';
  td.style.background = '#CEC';
}

该ErrorRenderer从未被称为沉绵警报被触发,任何想法,为什么?

谢谢

Answer 1:

如果您正在使用handsontable,你为什么不使用其内置的功能?

看看高温超导条件格式

此外,在0.9.5版本一列选项中添加validator 。 细节在这里 。

validator (value: Mixed, callback: Function) 

要么

validator : RegExp Object

然后使用事件(详见这里 ):

afterValidate (isValid: Boolean, value: Mixed, row: Number, prop: String, source: String) 

做单元格的格式

此外,在你的榜样,你设置的渲染器,但在细胞实际上是被渲染? 你需要重新呈现?



Answer 2:

我可以看到你的渲染是TextCell ..那就只有文本单元工作,检查错误渲染应该TextCell或NumericCell工作



文章来源: Custom renderer function not working in handsontable plugin