ngHandsontable:日期格式在热列指令中不起作用

时间:2016-08-20 08:14:51

标签: angularjs angularjs-directive handsontable date-formatting

我尝试使用settings以及直接date-format属性格式化日期列,如下所示。两者都不起作用。列类型设置为date,提供的数据类型为date

    <hot-column data="createdAt" title="'Date'" type="'date'"
          settings="{dateFormat:'DD/MM/YYYY', type: 'date'}"
          date-format="'DD/MM/YYYY'"
          correct-format="true"
          allow-empty="true" read-only></hot-column>

日期列不会格式化。其他类型的格式设置(例如使用numeric的“严重性”列中的format - 类型 - 属性正在运行。

enter image description here

完整的表格代码:

  <hot-table read-only datarows="events" class="table table-bordered table-striped" row-headers="false" manual-column-resize="true">

    <hot-column data="createdAt" title="'Date'" type="'date'"
          settings="{dateFormat:'DD/MM/YYYY', type: 'date'}"
          date-format="'DD/MM/YYYY'"
          correct-format="true"
          allow-empty="true" read-only></hot-column>

    <hot-column data="eventType" title="'Event Type'"></hot-column>
    <hot-column data="user.displayName" title="'User'"></hot-column>
    <hot-column data="ipAddress" title="'IP Address'"></hot-column>
    <hot-column data="severity" title="'Severity'" type="'numeric'" format="'$ 0,0.00'"></hot-column>
    <hot-column data="eventMessage" title="'Message'"></hot-column>
    <hot-column data="" title="'Old data'"></hot-column>
    <hot-column data="" title="'New data'"></hot-column>
  </hot-table>

使用ngHandsontable 0.12.0,Handsontable 0.26.1。

很遗憾,使用date-format属性没有一个demo可用。

我目前的解决方法是使用自定义渲染器并通过moment()格式化日期。

1 个答案:

答案 0 :(得分:0)

根据https://github.com/handsontable/ngHandsontable/issues/178的答案:

  

嗨@mathiasconradt,遗憾的是日期格式不起作用   方式而不是格式(对于数字)。这个问题与。有关   Handsontable本身,您可以跟踪更改here

     

此问题的解决方法是在表之后调用validateCells方法   初始化。它强制更正日期格式到另一个。我有   创建了演示here

在视图中使用on-after-init

<hot-table col-headers="true" datarows="ctrl.data" on-after-init="ctrl.onAfterInit">

  this.onAfterInit = function() {
    this.validateCells();
  }

在控制器中。