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

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

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

   1:  Date.prototype.format = function(format) {
   2:      var o =
   3:                  {
   4:                      "M+": this.getMonth() + 1, //month
   5:                      "d+": this.getDate(),    //day
   6:                      "h+": this.getHours(),   //hour
   7:                      "m+": this.getMinutes(), //minute
   8:                      "s+": this.getSeconds(), //second
   9:                      "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
  10:                      "S": this.getMilliseconds() //millisecond
  11:                  }
  12:   
  13:      if (/(y+)/.test(format))
  14:          format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  15:      for (var k in o)
  16:          if (new RegExp("(" + k + ")").test(format))
  17:          format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
  18:      return format;
  19:  }

下面是具体Grid日期列的定义

   1:  {dataIndex : 'BillDate',
   2:          header : '用电日期',
   3:          hidden : false,
   4:          renderer : function (val) {
   5:      return new Date(parseInt(val.substring(6, val.length - 2))).format('yyyy-MM-dd')
   6:      }
   7:      ,
   8:          sortable : false
   9:      }
posted @ 2009-07-03 13:21 午夜瞎想 阅读(2209) 评论(0) 编辑
下面代码是Ext.grid.GridPanel 的一个tbar的Ext.Button提交删除:
 
   1:  var extWindowDepartmentList = new Ext.grid.GridPanel ({autoFill : true,
   2:          autoHeight : true,
   3:          cm : new Ext.grid.ColumnModel([new Ext.grid.CheckboxSelectionModel ({singleSelect : false}),//checkbox 列    
   4:  {dataIndex : 'AreaID',header : '地区',hidden : false,sortable : false},            
   5:  {dataIndex : 'Dept_Name',header : '部门',hidden : false,sortable : false},            
   6:  {dataIndex : 'Id',header : 'Id',hidden : true,sortable : false}
   7:  ]),
   8:          height : 500,
   9:          sm : new Ext.grid.CheckboxSelectionModel ({singleSelect : false}) //这里必须有
  10:  ,
  11:          store : new Ext.data.Store ({autoLoad : true,id : 'StoreDepartmentList',proxy : new Ext.data.HttpProxy ({url : '/Department/List'    }), //数据源
  12:          reader : new Ext.data.JsonReader ({fields : [{type : 'auto'    },{name : 'AreaID',    type : 'auto'},{name : 'Dept_Name',type : 'auto'},    {name : 'Id',type : 'auto'}]})
  13:   
  14:      })
  15:   
  16:      });
posted @ 2009-07-03 13:12 午夜瞎想 阅读(4482) 评论(0) 编辑
下面代码是Ext.grid.GridPanel 的一个tbar的Ext.Button提交删除:
   1:  tbar : [new Ext.Button ({allowDepress : false,
   2:          handler : function() {NewHall();},
   3:          iconCls : 'add',
   4:          text : '新增'
   5:      })
   6:  ,            
   7:  new Ext.Button ({allowDepress : false,
   8:          handler : function() {
   9:          Ext.MessageBox.confirm('提示', '确实要删除所选的记录吗?',function (btn){
  10:          if(btn=='yes'){           
  11:          var row=extWindowDepartmentList.getSelections();           
  12:          var jsonData="";           
  13:          for(var i=0,len=row.length;i<len;i++){             
  14:          var ss = row[i].get("Id"); //这里为Grid数据源的Id列           
  15:          if(i==0)              
  16:          jsonData = jsonData + ss;                    
  17:          else              
  18:          jsonData = jsonData + ","+ ss;             }          
  19:          var conn = new Ext.data.Connection();          
  20:          conn.request(
  21:          {          url: "/Department/Del",        //提交的删除地址   
  22:          params:{strProjects:jsonData},            
  23:          method: 'post',            
  24:          scope: this,            
  25:          callback:function(options,success, response){            
  26:          if(success){                
  27:          Ext.MessageBox.alert("提示","所选记录成功删除!");
  28:          extWindowDepartmentList.store.reload({params:{start:0, limit:25}}); //重新load数据
  29:          }
  30:          else
  31:          {Ext.MessageBox.alert("提示","所选记录删除失败!");}
  32:          }
  33:          }) 
  34:          } 
  35:          })
  36:          ;},
  37:          iconCls : 'del',
  38:          text : '删除'
  39:      })
  40:  ]
posted @ 2009-07-03 13:06 午夜瞎想 阅读(929) 评论(0) 编辑