我尝试使用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
- 类型 - 属性正在运行。
完整的表格代码:
<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()
格式化日期。
答案 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();
}
在控制器中。