如何将默认值 0 赋予 Handsontable 中的所有空单元格?

Posted

技术标签:

【中文标题】如何将默认值 0 赋予 Handsontable 中的所有空单元格?【英文标题】:How to give default value of 0 to all the empty cells in Handsontable? 【发布时间】:2016-03-06 16:59:10 【问题描述】:

我有一个简单的handsontable,它从数据库中获取数据,但并非所有单元格都有数据,有些单元格只有空值。代替 handsontable 显示表格中的空单元格,是否可以放置一个默认值为 0.00 的数字格式化程序?

【问题讨论】:

创建一个jsfiddle.net 可能会很好,这样我们就可以看到你已经走了多远。 【参考方案1】:

这是解决方案。请检查并让我知道如果不工作。我已经在 jsfiddle 上测试过了 > http://jsfiddle.net/yL8t1psf/1/

$(document).ready(function () 

  var container = document.getElementById('basic_example');

  var data = [
      ['', 'Kia', 'Nissan', 'Toyota', 'Honda'],
      ['2014', 10, 11, 12, 13],
      ['2015', 20, null, , 13],
      ['2016', null, 15,'', null]
  ];

  var hot = new Handsontable(container, 
    data: data,
    height: 396,
    colHeaders: true,
    rowHeaders: true,
    stretchH: 'all',
    columnSorting: true,
    contextMenu: true,
    cells: function (row, col, prop,value) 
      var cellProperties = ;          
          cellProperties.renderer = firstRowRenderer;
      return cellProperties;
    
  );

);


  function firstRowRenderer(instance, td, row, col, prop, value, cellProperties) 
    Handsontable.renderers.TextRenderer.apply(this, arguments);
    if(!value || value === '' || value == null )                         
        td.innerhtml = "0.00";
        
  

【讨论】:

if 语句应该是 if(!value || value === '') 否则它不会工作 它会起作用,请检查我编辑的答案。我还更新了 jsfiddle 链接。 提交时如何获取此默认值?它返回“空”【参考方案2】:

将此添加到您的条件格式中。

http://docs.handsontable.com/0.20.0/demo-conditional-formatting.html

if (!value || value === '') 
  td.innerHTML = "0.00";

【讨论】:

如果value=0 或布尔值会怎样? @AndrewBone,感谢您的解决方案,我使用了相同的逻辑,但将 0.00 分配给自身而不是 td.innerHTML。

以上是关于如何将默认值 0 赋予 Handsontable 中的所有空单元格?的主要内容,如果未能解决你的问题,请参考以下文章

c++函数给一个形参赋予了默认值,则实参是否可以不写这个参数

如何在指令AngularJS中包装jQuery(默认)handsontable?

数组动态初始化时,数组元素会被赋予一个默认值,简述各数据类型的初始值?

Handsontable:如何将数据发布为关联数组

Handsontable 如何手动将单元格设置为无效

c++函数给一个形参赋予了默认值,则实参是否可以不写这个参数