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

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

【问题讨论】:

  • 创建一个jsfiddle.net 可能会很好,这样我们就可以看到你已经走了多远。

标签: javascript handsontable


【解决方案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。
猜你喜欢
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2011-02-19
  • 1970-01-01
  • 2020-09-01
  • 1970-01-01
相关资源
最近更新 更多