0

我嘗試格式化日期列,如下所示,settings以及date-format直接屬性。兩者都不起作用。列類型設置爲date,提供的數據類型爲datengHandsontable:日期格式在熱列指令中不起作用

<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> 

日期列將不會格式化。其他類型的格式,例如使用format-attributes的Severity列中的numeric類型正在工作。

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。

遺憾的是,沒有一個demo可用,使用date-format屬性。

我目前的解決方法是使用自定義渲染器,並通過moment()在那裏格式化日期。

+0

在這裏創建一張票:https://github.com/handsontable/ngHandsontable/issues/178 –

回答

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(); 
    } 
在控制器