如何让 GridPanel 在 ExtJS 4 中显示正确的时间?
Posted
技术标签:
【中文标题】如何让 GridPanel 在 ExtJS 4 中显示正确的时间?【英文标题】:How can I get a GridPanel to show the correct time in ExtJS 4? 【发布时间】:2011-05-19 15:48:57 【问题描述】:我有一个带有 ExtJS 4 的 GridPanel
。其中一列返回以下格式的时间戳:
1900-01-01 14:00:00.0
这是我的 JsonStore 中的专栏
name: 'clockOut',
mapping: 'clockOut',
dateFormat: 'H:i A',
type: 'date'
我只想显示time
部分,但我得到的只是一个空白列。
当我删除 type: 'data'
时,我得到的数据是上述格式。
有什么建议吗?
谢谢
【问题讨论】:
【参考方案1】:您可以将渲染器添加到按您想要的方式格式化它的列:
name: 'clockOut',
mapping: 'clockOut',
renderer: dateRenderer
然后是dateRenderer
的函数:
function dateRenderer(value, id, r)
var d = new Date(r.data['clockOut']);
return d.format('H:i A');
【讨论】:
+1 用于建议渲染器,但它仍然不起作用。看看我这里的修改:gist.github.com/981266 刚刚确认renderer
什么都不做。我删除了它并留下了type:'date'
,它呈现了长文本(Mon Jan 01 2010....
)
我是个白痴。我没有将列类型更改为datecolumn
,因此不需要自定义渲染器。
亲爱的,很高兴你把它修好了!【参考方案2】:
你甚至可以使用 ExtJS 内置的渲染器而不是定义你自己的函数:
renderer: Ext.util.Format.dateRenderer('H:i A')
【讨论】:
以上是关于如何让 GridPanel 在 ExtJS 4 中显示正确的时间?的主要内容,如果未能解决你的问题,请参考以下文章
在 extjs4.1 和 4.2 中使用 CheckboxModel 删除和添加 Gridpanel 再次失败
ExtJs如何在Window窗口中加载页面上的GridPanel??