首页 JQuery/JavaScript ExtJS Grid日期列格式化问题,范型List<>日期问题

ExtJS Grid日期列格式化问题,范型List<>日期问题

作者:胡同里的砖头 围观群众:1057 更新于:2013-12-19

 

在Grid的cm里面定义列的时候使用renderer 属性进行修改日期格式.由于在用.net把List<T>转成json的时候会把日期类型转化成不是常用的格式所以我们需要利用js把他转换过来.

第一步需要把他转换成js认识的Date格式:new Date(parseInt(val.substring(6, val.length - 2)))

第二步再把Date按照你的要求进行转化,我这里是扩展了一个format方法

第一步定义:

Date.prototype.format = function(format) {  
 var o =  
  { 
      "M+": this.getMonth() + 1, //month  
      "d+": this.getDate(),    //day  
      "h+": this.getHours(),   //hour  
      "m+": this.getMinutes(), //minute 
      "s+": this.getSeconds(), //second  
      "q+": Math.floor((this.getMonth() + 3) / 3), //quarter 
      "S": this.getMilliseconds() //millisecond 
  } 
   if (/(y+)/.test(format)) 
       format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 
   for (var k in o) 
       if (new RegExp("(" + k + ")").test(format)) 
           format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); 
   return format; 
}

 

第二步:

var cm=new Ext.grid.ColumnModel([
                {header:'编号',dataIndex:'Id'},
                {header:'标题',dataIndex:'Title',id:'Title'},
                {header:'发布日期',dataIndex:'Intime',renderer : function (val) {return new Date(parseInt(val.substring(6, val.length - 2))).format('yyyy-MM-dd')}}
            ]);

 

结果显示如下:

  • 本文标题: ExtJS Grid日期列格式化问题,范型List<>日期问题
  • 文章分类:【JQuery/JavaScript】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8