2 lr393993507 lr393993507 于 2013.12.25 15:22 提问

SpringMVC+hibernate4+Extjs4.2+mysql

  1. 后台处理数据库数据(读取数据)
    @RequestMapping("/getmanagers") @ResponseBody public Map getWorkOrders(String page,String limit,String start,String all){ int pageInt = Integer.parseInt(page); int limitInt = Integer.parseInt(limit); int startInt = Integer.parseInt(start); Map map = new HashMap(); List list = workOrdersService.getWorkOrders(); List listTemp ; //数据库中的结果条数小于分页限制,则直接返回结果 map.put("total",list.size()); if(list.size()<=limitInt){ map.put("workOrders", list); return map; } if(all!=null){ map.put("workOrders", list); return map; } //截取List if(pageInt*limitInt>=list.size()){ listTemp = list.subList(startInt, list.size()); }else{ listTemp = list.subList(startInt, pageInt*limitInt); } map.put("workOrders", listTemp); return map; }

  1. ExtMVC

中的model
Ext.define('tw.model.GlobalStatisticsModel',{
extend : 'Ext.data.Model',
fields: [
{name: 'id', type: 'int',sortType :'aesc'},
{name: 'failuretime',type: 'date'},
{name: 'failureaddress', type: 'string'},
{name: 'repairtime', type: 'string'},
{name: 'maintenanceman', type: 'string'},
{name: 'completion', type: 'string'},
{name: 'failurecontent', type: 'string'}
]
});
中的store
Ext.define('tw.store.GlobalStatisticsStore',{
extend:'Ext.data.Store',
model:'tw.model.GlobalStatisticsModel',
pageSize: 17,
proxy:{
type:'ajax',
url: 'gdgl/getmanagers',
reader: {
type: 'json',
root: 'workOrders'
},
writer:{
type: 'json'
}
},
autoLoad: true
});
然后是Ext的View
Ext.define('tw.view.gdgl.GlobalStatisticsView',{
extend : 'Ext.grid.Panel',
xtype : 'globalStatisticsView',
store:'GlobalStatisticsStore',
selType : 'checkboxmodel',
forceFit:false,
columns: [{
text: 'ID',
dataIndex: 'id',
width:50,
editor: {
readOnly:true
}
}, {
// text: '故障时间',
header:'故障时间',
dataIndex: 'failuretime',
width:180,
renderer : Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
editor: {
allowBlank: false
}
}, {
text: '故障地点',
dataIndex: 'failureaddress',
width:200,
editor: {
allowBlank: false
}

3个回答

lr393993507
lr393993507   2013.12.30 15:00
已采纳

这个我有答案了,java取出来的字符串是一个13位的时间戳,放到Extjs里的话必须要转换为时间才能显示,要不就会显示为13位的时间戳。Ext的view可以改为
Ext.define('tw.view.gdgl.GlobalStatisticsView',{
extend : 'Ext.grid.Panel',
xtype : 'globalStatisticsView',
store:'GlobalStatisticsStore',
selType : 'checkboxmodel',
forceFit:false,
columns: [{
text: 'ID',
dataIndex: 'id',
width:50,
editor: {
readOnly:true
}
}, {
// text: '故障时间',
header:'故障时间',
dataIndex: 'failuretime',
width:180,
renderer:function(value){
return new Date(parseInt(value)).toLocaleString();//自动转化为时间
}
}, {
text: '故障地点',
dataIndex: 'failureaddress',
width:200,
editor: {
allowBlank: false
}

cheng5588
cheng5588   2013.12.25 16:12

数据的类型弄错了,在数据库中有datetime类型的,但在数据传输的过程中datetime类型会自动转换,所以你在extjs中你仍然用datetime类型接收就不对了

lr393993507
lr393993507 我用的是date类型的数据,不是datetime类型
接近 4 年之前 回复
MIT_YangTian
MIT_YangTian   2014.08.06 22:09

这个能解决你的问题:http://ssyangtian.iteye.com/blog/2100794

Csdn user default icon
上传中...
上传图片
插入图片