关于Handsontable条件格式

时间:2015-05-25 07:06:59

标签: javascript css handsontable

我有一个包含值的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应用样式

1 个答案:

答案 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';
};