Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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 Handsontable-无法为自定义单元格设置千位分隔符_Javascript_Css_Numeric_Handsontable - Fatal编程技术网

Javascript Handsontable-无法为自定义单元格设置千位分隔符

Javascript Handsontable-无法为自定义单元格设置千位分隔符,javascript,css,numeric,handsontable,Javascript,Css,Numeric,Handsontable,我正在使用Handsontable库编辑包含财务数据的电子表格。 我设置了自定义数字格式,使用“”空格作为千位分隔符 numeral.language('ru', { delimiters: { thousands: ' ', decimal: ',' }, abbreviations: { thousand: 'k', million: 'm', billion: 'b',

我正在使用Handsontable库编辑包含财务数据的电子表格。 我设置了自定义数字格式,使用“”空格作为千位分隔符

numeral.language('ru', {
    delimiters: {
        thousands: ' ',
        decimal: ','
    },
    abbreviations: {
        thousand: 'k',
        million: 'm',
        billion: 'b',
        trillion: 't'
    },
    ordinal: function (number) {
        return number === 1 ? 'er' : 'ème';
    },
    currency: {
        symbol: '€'
    }
});
所有设置都可以正常工作,但在某些自定义颜色和文本对齐单元格中,此设置不起作用。怎么了

用于设置颜色和对齐的自定义单元渲染器:

function sumCellRenderer(instance, td, row, col, prop, value, cellProperties) {
    Handsontable.renderers.TextRenderer.apply(this, arguments);
    td.style.background = '#FFFF88';
    td.style.textAlign = 'right';      
}
工作示例


底部的自定义单元格用黄色标记。

应用自定义渲染器时,会覆盖渲染器的类型,因此必须自行设置。如果您查看代码,您使用的是TextRenderer,您现在可能已经猜到了,这将呈现文本。在Handsontable中,数字是数字类型,关联的渲染器是NumericRenderer。因此,解决方案:

替换

Handsontable.renderers.TextRenderer.apply(this, arguments);

在那之后它应该会工作的

Handsontable.renderers.NumericRenderer.apply(this, arguments);