【发布时间】:2012-12-14 02:34:11
【问题描述】:
我正在尝试将 自定义渲染器 添加到 Bryntum Ext 甘特图。
我有在本地时区显示的日期,但我希望在 UTC 日期中显示它们,因为这是数据源用来向用户显示日期的内容(它与浏览器时区无关)源应用程序。
这里的帖子引导我朝着正确的方向前进(根据我的测试,这似乎是我所需要的):Why does ExtJS subtract a day when formatting a date?
如何在自定义渲染器中实现链接解决方案?
我试过了,但该列是空白的:
{
xtype:'startdatecolumn',
sortable: false,
text: 'Start',
dataIndex: 'StartDate',
renderer: function (v, m, r) {
return Ext.util.Format.date(Ext.Date.parse(v, "Y-m-d"), "m-d-Y");
}
}
也试过了,该列是空白的:
{
xtype:'startdatecolumn',
sortable: false,
text: 'Start',
dataIndex: 'StartDate',
renderer: function (v) {
var dt = Ext.Date.parse(v, "Y-m-d");
Ext.util.Format.date(dt, "m-d-Y");
return dt;
}
}
使用这种格式,它以本地时区显示日期(不正确,除非设置为 UTC)。
{
xtype:'enddatecolumn',
dataIndex: 'EndDate',
sortable: false,
text: 'End'
}
Bryntum 色谱柱示例
columns : [
{
xtype : 'treecolumn',
header: 'Tasks',
sortable: true,
dataIndex: 'Name',
width: 200,
field: {
allowBlank: false
},
renderer : function(v, meta, r) {
if (!r.data.leaf) meta.tdCls = 'sch-gantt-parent-cell';
return v;
}
},
{
xtype : 'startdatecolumn'
},
{
//hidden : true,
xtype : 'enddatecolumn'
},
【问题讨论】:
-
您是否使用
console.log()块来观察渲染器处理程序看到的数据是什么?例如,console.log(v);将是一个开始。或者我想在控制台 Javascript 选项卡中使用断点。 -
是的,我确实使用了 console.log(),但绝对可以花一些时间更好地学习 firebug / chrome 控制台。除了反复试验,还有什么推荐的资源吗?
-
由于 ExtJS 是您在这里的特殊情况,我将遵从 Sencha's support docs,它确实提供了一些很好的提示,并且似乎是 Firebug 的忠实粉丝(就像我一样,因为它是在测试版中出现的) .有关 Firebug 的截屏视频和教程列表,请参阅文章底部。话虽如此,Chrome Console 还是很不错的,有些人也很喜欢 Venkman 和 Fiddler。 IE“开发人员工具”是浪费时间 IMO。
-
谢谢你;我一定跳过了那部分:)
标签: javascript date extjs utc renderer