`
PrideSnow
  • 浏览: 240899 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

Ext时间在列表grid中的格式化方法(兼容从数据库中读取和从控件中添加)

EXT 
阅读更多

      前面有篇文章介绍了从控件中向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中增加一行数据

}

 

分享到:
评论
2 楼 seoltsubasa 2011-06-22  
badmanisme 写道
为什么我执行时, 报JsonDateValue未被定义



我也是一样的问题,希望楼主给出完整的代码,谢谢哈!
1 楼 badmanisme 2011-06-20  
为什么我执行时, 报JsonDateValue未被定义

相关推荐

    Ext2.0框架的Grid使用介绍

    Grid是Ext2.0中用于展示数据的重要组件之一,它不仅能够显示各种格式的数据(如二维数组、JSON或XML),还支持数据的排序、过滤和分页等功能。Grid的核心在于`Ext.grid.GridPanel`类及其相关的配置项。 ##### 1. ...

    doc格式 ext EXT 中文手册

    ### EXT中文手册知识点总结 #### 1. EXT简介与安装 - **EXT**: 一种用于构建Web...以上知识点总结了EXT中文手册中的核心内容,覆盖了从安装到具体使用的各个方面,帮助开发者快速掌握EXT框架的基本用法和高级技巧。

    最新EXT2.0.ppt

    此外,EXT还提供了时间控件,允许用户自定义时间格式,并进行合法性验证,增加了应用的专业性和便捷性。 为了使用EXT,首先需要下载EXT发布包,其中包括必要的JS类库和CSS样式库。例如,`ext-base.js`是框架基础库...

    ext整理的一些知识

    在JavaScript中,可以从`DateField`控件中以两种方式获取日期值:`Ext.getCmp("ID").getValue()`返回的是标准日期格式的字符串;而`Ext.getCmp("ID").value`返回的是`yyyy-MM-dd`格式的字符串,更易于后端处理。 ...

    精通JS脚本之ExtJS框架.part1.rar

    8.2.5 格式化显示日期类型数据 8.3 美化表格 8.4 设置表格背景颜色 8.5 显示行号和复选框 8.5.1 显示行号 8.5.2 引用复选框 第9章 表格的高级功能 9.1 表格视图——Ext.grid.GridView 9.2 表格分页 9.2.1 ...

    UniGUI集合说明

    - **格式化数据**:按照Excel的要求对数据进行格式化。 - **提供下载**:将生成的文件以适当的方式提供给用户下载。 #### 20. UniDBGridExcel文件下载 实现UniDBGridExcel文件下载的过程与第18条类似,主要区别...

    精通JS脚本之ExtJS框架.part2.rar

    8.2.5 格式化显示日期类型数据 8.3 美化表格 8.4 设置表格背景颜色 8.5 显示行号和复选框 8.5.1 显示行号 8.5.2 引用复选框 第9章 表格的高级功能 9.1 表格视图——Ext.grid.GridView 9.2 表格分页 9.2.1 ...

    UniGUI集合说明--追月无名.pdf

    在Internet Explorer浏览器中,UniGUI控件的字体出现变小或模糊的情况,通常是由于浏览器的兼容性问题导致的。IE对某些CSS样式的支持不够完善,尤其是在处理字体样式方面可能存在差异。解决这个问题的方法包括: - ...

    extjs.3.0中文API

    1. Store:存储数据的容器,可以从服务器加载数据,支持数据的读取、添加、删除和更新。 2. Proxy:与服务器通信的中介,处理数据的获取和提交,支持Ajax和ScriptTag两种模式。 3. Model:定义数据字段和验证规则...

    extjs的教程里面含有代码列子详解

    - **日期格式化**:解释如何在Grid中正确显示日期类型的数据。 - **样式和交互**:探讨了如何在Grid的单元格中显示不同颜色的文字、图片甚至是按钮,以增强界面的互动性和美观度。 通过上述章节的详细介绍,读者...

    老师整理的extjs学习笔记

    `Ext.grid.EditorGridPanel` 是一个扩展了 `Ext.grid.GridPanel` 的组件,允许直接在表格中编辑数据。它结合了表格视图和表单编辑功能,使得数据编辑变得更加直观。 #### 九、Ext.tree.TreePanel -- 树的使用 **...

    extjs 学习笔记 四 带分页的grid

    在Ext JS中实现带有分页功能的Grid组件是处理大量数据展示的有效方式,可以极大地改善用户浏览数据时的体验。当处理成千上万条数据时,将所有数据加载到一个页面中会导致页面加载缓慢,影响用户交互。因此,分页功能...

    extjs学习资源

    - **数据读取器**: `DataReader`、`ArrayReader`、`JsonReader`和`XmlReader`用于解析不同格式的数据源。 - **数据存储**: `Store`用于管理数据集,而`GroupingStore`、`JsonStore`和`SimpleStore`提供了更高级的...

    EXTJS4.0.7下载

    在压缩包"ext-4.0.7-gpl"中,包含了EXTJS4.0.7的所有源代码、库文件、示例、文档和资源。开发者可以下载后解压,通过阅读源码和文档学习EXTJS的使用方法,或者直接将库文件引入项目中开始开发。 总之,EXTJS4.0.7...

    extjs gridpanel例子和简单应用

    它可以结合`Proxy`和`Reader`对象来从远程服务器获取数据,并将其格式化成适合`GridPanel`使用的数据格式。 4. **ColumnModel** - `ColumnModel`定义了`GridPanel`中的列配置,包括每列的标题、宽度、排序属性等。...

Global site tag (gtag.js) - Google Analytics