获取错误未捕获的错误:尝试在单元格中添加渲染器时,单元格类型必须为字符串

时间:2018-07-10 09:50:52

标签: javascript jquery handsontable

我遇到的情况是,我必须根据少数条件在单元格中添加不同的渲染器。因此,解决此问题我已经完成了以下步骤;

makeHighlight(rowNum,colNum, highlightFor = '')
{
  var root = this;
  handsOnTable.updateSettings({
        cells: function (row, col) {

            var cellProperties = {};

            //if for row never cell property set means 
            sheetConfig.cellProperties[row] == undefined
            if(sheetConfig.cellProperties[row] == undefined)
                sheetConfig.cellProperties[row] = [];

            //If row number and column number matches
            if (row == rowNum && col == colNum) {

                if(highlightFor == 'condition1')
                {
                    cellProperties = {
                        type : {
                            renderer : root.renderer1
                        }
                    }
                    sheetConfig.cellProperties[row][col] = cellProperties;
                }
                if(highlightFor == 'condition2')
                {
                    cellProperties = {
                        type : {
                            renderer : root.renderer2
                        }
                    }
                    sheetConfig.cellProperties[row][col] = cellProperties;
                }
                if(highlightFor == 'condition3')
                {
                    cellProperties = {
                        type : {
                            renderer : root.renderer3
                        }
                    }
                    sheetConfig.cellProperties[row][col] = cellProperties;
                }
            }
            else
            {
                if(sheetConfig.cellProperties[row][col] != undefined)
                {
                    cellProperties = sheetConfig.cellProperties[row][col];
                }
            }
            return cellProperties;
        }
    });
 }

现在我的渲染器功能是;

renderer1(instance, td, row, col, prop, value,cellProperties) {
    Handsontable.renderers.TextRenderer.apply(this, arguments);   
    //td.style.background = '#ffff00';
    td.style.background = '#ffff0091';
};

renderer2(instance, td, row, col, prop, value,cellProperties) {
    Handsontable.renderers.TextRenderer.apply(this, arguments);   
    td.style.background = '#FF9999';
};

renderer3(instance, td, row, col, prop, value,cellProperties) 
{
    Handsontable.renderers.TextRenderer.apply(this, arguments);   
    td.style.background = '#FFFF33';
};

现在的问题是我收到错误消息;

未捕获的错误:单元格类型必须是字符串

您能帮我解决我做错了什么吗?我正在设法弄清楚,但还是没有运气。

任何帮助对我都很好。

谢谢。

0 个答案:

没有答案