前面有篇文章介绍了从控件中向grid中添加时间时候的格式化方法,可是同样的方法对于从数据库中取到的数据不太适用,报错信息是格式化方法不正确。
经过调试得知,就算我们后台传值的时候是Date类型,前台Ext.data.JsonReader中定义的时间类型为date时候,相应属性的值前台接不到,只有将Ext.data.JsonReader中的属性类型改成String才可以接收到值,此时格式化方法就要进行修改。
这样修改之后,数据库中读取数据是可以了,但是从时间控件中添加数据的时候,由于grid添加行的时候,自己定义的数据类型是Date类型,从控件中添加时间又不行了。
现在为了兼容两种数据,只能把Ext.data.JsonReader的属性类型设置为String,把grid添加行时候的数据类型也修改为String,再统一修改格式化函数为从字符串格式化为事件类型。
代码如下:
var funExt_Proxy_center = new Ext.data.HttpProxy({
url : _base + "/system/operator!getOperatorFunExtList.so",
method : 'post'
});
var funExt_reader_center = new Ext.data.JsonReader({// 用jsonReader读取这些数据
root : 'selFuns',// 返回的集合
fields : [{
name : 'endTime',
mapping : 'endTime',
type : 'String'
},{
name : 'beginTime',
mapping : 'beginTime',
type : 'String'
}]
});
var funExt_cm_center = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),
{
id : "beginTime",
header : "开始时间",
dataIndex : 'beginTime',
width : 100,
sortable : true,
renderer : renderDate('Y-m-d H:i:s')
},{
id : "endTime",
header : "结束时间",
dataIndex : 'endTime',
width : 100,
sortable : true,
renderer : renderDate('Y-m-d H:i:s')
}]);
.........
function renderDate(format) {// 日期格式转换
return function(v) {
if (Ext.isEmpty(v)) {
return "";
} else if (Ext.isEmpty(v.time)) {
v = v.replace(/T/g, ' ');// 去掉日期类型数据中的一些特殊字符
JsonDateValue = Date.parseDate(v, 'Y-m-d H:i:s');
} else {
JsonDateValue = new Date(v.time);
}
return JsonDateValue.format(format || 'Y-m-d H:i:s');
}
}
//从时间控件中往grid中添加数据
function addFunExt(){
var beginTimeValue=Ext.getCmp("beginTime").getRawValue();
var endTimeValue=Ext.getCmp("endTime").getRawValue();
var ColValue = Ext.data.Record.create(// 数据对象
[{name : "beginTime",mapping : "beginTime",type : 'String'},
{name : "endTime",mapping : "endTime",type : 'String'}]);
var initValue = {
beginTime:beginTimeValue,
endTime:endTimeValue
};
var colValue = new ColValue(initValue);
funExt_grid_center.getStore().add(colValue);// 往grid中增加一行数据
}
分享到:
相关推荐
实现ext与JSON的数据传递和显示,以及ext树的事件响应
本实例使用官方Ext3.1包 分五个部分 1.创建简单快捷的Ext Grid控件 代码清晰 2.Grid 读取 Xml 3.Grid 读取 json 4.Grid 读取 Excel 5.直接在 Grid 控件进行增删改查的操作 有任何疑问的同志欢迎提出即可谢谢
EXT 时间控件 EXT 时间控件EXT 时间控件
Ext日期时间控件 Spiiner控件及其它Ext代码
EXT日期加时间控件 EXT日期加时间控件
Ext6,支持时分秒的时间控件,支持包括 IE、Firefox、Safari、Chrome 和 Opera 浏览器。兼容IE8.
Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分...
自己第一次用Ext做的时间段选择控件,是参考公司了另一同事的控件修改的希望对大家有用。
extjs4 日期时间控件 包括的样式有 年月的选择 年月日的选择 年月日时间的选择
可以动态的新增和删除Ext控件,这里支持的上传控件的新增和删除。
ext grid网格控件四个实例,包括从array、XML、JSON和动态从服务器提取数据,具有分页功能,是在j2ee框架上实现,测试前先下载ext文件
/** * 此组件为带时分秒的日期控件,在原DateTimeField修改 * 此功能较以前版本增加功能 * 1,在GRID中使用时,增加单元格处于编辑状态时的初始化此控件值 * 2,增加操作日选择器时初始化时分秒功能 * 3,增加点击...
Ext grid 动态添加字段、列扩展, 如何动态添加或者删除一个grid的列
ext日期时间控件精确到时分秒,欢迎下载...................
该ext时间控件在日期下面可调节小时,分钟.........欢迎下载...............
最近项目中需要使用Ext,研究了下Ext,使用Ext显示数据库中内容。
EXT支持GRID中文排序 主要是重写排序的方法
结果在extjs的老家找到一个前辈写的代码,可以在grid上面加上合计, <br>但是却只能合计grid里面的数据,但是我们平常一般是只显示20行或者30行,这样的合计就没有什么意义,我们的合计数据是单独从数据库里面...
Ext表格控件和树控件,请关注后续发布,不断更新中
ext改写的时间控件,带时分秒,支持ext3.x