【问题标题】:date renderer issue in extjsextjs 中的日期渲染器问题
【发布时间】:2010-03-11 21:01:36
【问题描述】:

我有一个列的日期渲染器问题。当浏览器语言为英文时,日期以这种格式显示

09/14/2009 09:23 AM

但是当我将浏览器语言更改为德语(以英语和法语正确显示)时,日期未呈现,它显示NAN/NAN/NAN 12:NAN PM

这里是代码。

var dateRenderer = Ext.util.Format.dateRenderer('m/d/Y h:i A');

var colModel = new Ext.grid.ColumnModel([
{ 
     header: xppo.st('SDE_DATE_OCCURRED'), 
     width: 75, 
     sortable: true, 
     dataIndex: 'DateOccurred', 
     renderer: dateRenderer 
}]);

如何以其他语言呈现日期?请帮我解决这个问题。

【问题讨论】:

    标签: extjs


    【解决方案1】:

    您确定输入日期被正确解析为德语吗? dateRenderer 输出应该是相同的——如果它可以工作,那么语言应该无关紧要。由于您得到的是 NaN,因此德语输入数据中的某些内容很可能是无效的。

    【讨论】:

    • 服务器端的数据正确呈现。德语:在服务器端,以德语呈现的日期格式为 14.09.2009 10:23:00,在客户端显示 NAN/ NAN/NAN 12:NAN PM 对于服务器端的法语,服务器上呈现的日期格式为 14/09/2009 10:23:00,在客户端显示为 14/09/2009 10:23 AM
    • var dateRenderer = Ext.util.Format.dateRenderer('m/d/Y h:i A');德语的日期渲染器是 m.d.Y 而不是 m/d/Y 你能帮我如何正确显示德语的日期渲染器吗?
    • 如果我对该列不使用任何渲染,则数据显示为 14.09.2009 10:23:00 但是当我在该列中使用日期渲染时,它显示为 NAN。你能帮我解决这个问题吗?
    【解决方案2】:

    为什么不使用 Ext.grid.DateColumn ?它非常简单...... 简单通过

    format: "d.m.Y H:i:s"
    

    到它的构造函数,一切都应该没问题:)

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题。但仅在设置正确的 dateFormat 时才修复。 (当然数据必须从服务器端正确传递)

      reader: new Ext.data.JsonReader({
              root: 'mails',
              totalProperty: 'totalCount',
              idProperty: 'mail_id',
              fields: [
                  'mail_id',
                  {name: 'mail_date', type: 'date', dateFormat: 'Y-m-d h:i:s'}
              ]
      }
      

      ...

      this.columns = [sm,{
          header: 'Date',
          dataIndex: 'mail_date',
          width: 150,
          renderer: Ext.util.Format.dateRenderer('d.m.Y H:i:s'),
          sortable: true
      }];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-20
        • 2013-11-25
        • 2011-01-28
        • 1970-01-01
        • 2015-02-02
        • 1970-01-01
        相关资源
        最近更新 更多