我有一个包含值的Handsontable,我需要应用数字格式,如$0,0.00
。使用下面的代码,我能够实现它,但如果我将renderer
应用于cellproperty,则单元格会通过覆盖先前的单元格格式来更改新样式。请告诉我正在做什么错误
代码
function inHeadRenderer(instance, td, row, col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, arguments);
td.style.textAlign="left"
td.style.paddingLeft="1%";
td.style.fontWeight = 'bold';
td.style.fontSize="10px";
td.style.fontFamily= 'verdana';
td.style.background = '#FCFFFA';
td.style.color = '#0B610B';
}
cells: function (row, col, prop) {
if($("#handsontable").handsontable('getData')[col,row][num_cols-1] ==="Inflow"){
cellProperties={
type: 'numeric',
format:'0,0.00',
language: 'en'
}
return cellProperties;
}
我想为格式化的单元格Properites应用样式
答案 0 :(得分:2)
每次对单元格进行更改时,都会触发渲染器。这就是覆盖格式的原因。
http://jsfiddle.net/hU6Kz/3519/是供您参考的工作代码。
校正。 包含渲染器中的类型
inHeadRenderer=function(instance, td, row, col, prop, value, cellProperties) {
Handsontable.NumericCell.renderer.apply(this, arguments);
td.style.textAlign="left"
td.style.paddingLeft="1%";
td.style.fontWeight = 'bold';
td.style.fontSize="10px";
td.style.fontFamily= 'verdana';
td.style.background = '#FCFFFA';
td.style.color = '#0B610B';
cellProperties.type = 'numeric';
};