在深入探讨ExtJS.GridPanel中的日期格式设置之前,我们首先简要回顾一下ExtJS是什么以及GridPanel组件的基本功能。ExtJS是一个用JavaScript编写的开源框架,用于构建交互式的Web应用程序,它提供了丰富的UI组件和数据处理功能。GridPanel是ExtJS中一个非常重要的组件,用于展示和编辑表格数据,它具有高度的定制性和灵活性。 ### 一、ExtJS.GridPanel中的日期格式设置 在ExtJS中,日期格式的设置主要涉及两个方面:数据存储格式和数据显示格式。在`SimpleStore`中定义字段时,可以指定日期类型的字段及其格式。例如,在上述代码片段中,`time1`至`time5`字段被定义为日期类型,并指定了不同的格式: ```javascript {name:'time1',type:'date',dateFormat:'Y-m-d H:i:s'}, ``` 这里的`dateFormat`属性定义了字段在JSON数据中的日期格式,当数据加载到store时,ExtJS会根据这个格式解析日期字符串。 ### 二、日期显示格式 在GridPanel中,可以通过`renderer`属性自定义单元格的显示格式。`renderer`函数接受一个值并返回一个格式化后的字符串。例如,对于`time1`列,我们使用了`Ext.util.Format.dateRenderer('Y-m-d')`来将日期格式化为“年-月-日”的形式显示在网格中。 ```javascript renderer:Ext.util.Format.dateRenderer('Y-m-d'), ``` ### 三、日期编辑格式 除了显示格式,我们还可以通过`editor`属性自定义日期字段的编辑器,这决定了用户在编辑单元格时输入的日期格式。例如,对于`time1`列,我们设置了编辑器的格式为`'y-m-d'`,即“年-月-日”但省略了前导零的年份。 ```javascript editor:new Ext.form.DateField({ format: 'y-m-d' }), ``` ### 四、监听事件验证日期格式 代码中还包含了对store加载事件的监听,用以验证数据是否按照预期的格式正确加载: ```javascript 'load': function(store, records, options) { var r = store.getAt(0); var validDate = Ext.isDate(r.get('time1')) && Ext.isDate(r.get('time2')) && Ext.isDate(r.get('time3')) && Ext.isDate(r.get('time4')); Ext.Msg.alert('提示', 'Store数据格式' + (validDate ? '正确!' : '不正确!')); } ``` 通过检查`time1`至`time4`字段的值是否为日期对象,我们可以确认数据是否已成功转换成日期类型。 ### 结论 ExtJS.GridPanel中的日期格式设置涉及到数据存储、显示和编辑多个环节,开发者需要根据具体需求选择合适的日期格式。通过上述方法,我们可以确保日期数据在存储、显示和编辑过程中保持一致性和准确性,从而提升用户体验和数据处理效率。理解和掌握这些知识对于开发基于ExtJS的Web应用至关重要。






























Ext.BLANK_IMAGE_URL = '/js/extjs/3.0/resources/images/default/s.gif';
//Ext.chart.Chart.CHART_URL = '/js/extjs/3.0/resources/charts.swf';
Ext.QuickTips.init();
testEditorGrid();
});
function testEditorGrid(){
var store = new Ext.data.SimpleStore({
fields:[
//先把json中的时间格式化为date格式
{name:'time1',type:'date',dateFormat:'Y-m-d H:i:s'},//对应于2009-10-20 10:00:00
{name:'time2',type:'date',dateFormat:'Y-m-d'},//对应于2009-10-20
{name:'time3',type:'date',dateFormat:'y-m-d'},//对应于09-10-20
{name:'time4',type:'date',dateFormat:'m/d/y'},//对应于10/20/09
{name:'time5',type:'date',convert:function(v,r){return new Date(r.time5);}} //对应于1293901323000
],
data:[
['2009-10-20 10:00:00','2009-10-20','09-10-20','10/20/09',1293901323000]
],
listeners:{
'load':function(store,records,options){
//出了问题的时候,先检查json格式是否正确转换为date
var r = store.getAt(0);
var validDate = Ext.isDate(r.get('time1')) && Ext.isDate(r.get('time2')) && Ext.isDate(r.get('time3')) && Ext.isDate(r.get('time4'));
Ext.Msg.alert('提示','1.在Store里面格式化'+(validDate?'正确!':'错误!'));
}
}
});


- 粉丝: 13
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 名企SSGF工业化体系高温蒸养预制混凝土墙板标准做法.docx
- IATF16949-06顾客满意度控制程序.doc
- 安装技术交底表格.doc
- 剪力墙平法识图讲义格式95页.ppt
- 保健中心空调节能改造热回收制热水工程方案.doc
- 万科设备材料采购合同.doc
- 工程造价常见的41个问题.doc
- 049复合式衬砌检验批质量验收记录.doc
- 丝绸之路经济带电子商务发展报告.docx
- 烟草行业大数据资产管理.docx
- 中国超级输水钢管的创新及其实践(上).doc
- 某办公楼室内通风工程量计算实例.doc
- 大数据背景下的企业电子档案管理及其利用.docx
- 某水库施工组织设计.doc
- 河南某住宅小区工程安全监理控制措施.doc
- 基于单片机的温度控制系统设计.doc


