カスタム レンダラーを Bryntum Ext ガント チャートに追加しようとしています。
ローカル タイムゾーンで表示されている日付がありますが、UTC 日付で表示したいと考えています。これは、ソース アプリケーションでデータソースがユーザーに日付を表示するために使用しているためです (ブラウザーのタイムゾーンに依存しません)。
ここの投稿は正しい方向に私を導きました (私のテストに基づいて必要なもののようです):日付をフォーマットするときに ExtJS が日を減算するのはなぜですか?
リンクされたソリューションをカスタム レンダラーに実装するにはどうすればよいですか?
私はこれを試しましたが、列は空白でした:
{
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'
},