ExtJS6 Grid的日期编辑栏位处理
发布日期:2021-07-01 05:47:27 浏览次数:2 分类:技术文章

本文共 967 字,大约阅读时间需要 3 分钟。

文章目录

问题描述

  1. 定义一个带编辑列的Grid,定义的方式是Columns的某个Column使用’widgetcolumn’定义

{

text : ‘Planned Value’,
dataIndex : ‘planDate’,
xtype : ‘widgetcolumn’,
widget :{
xtype : ‘datefield’,
format:‘Y/m/d’,
bind: ‘{record.planDate}’
}
}

  1. 保存的时候,通过
    var modifiedRecords = store.getModifiedRecords(); 得到修改过的行,通过
    Ajax呼叫后端服务更新

var modifyRecords = modifiedRecords.map(function(x) {

return {			obid : x.get("obid"),			planDate : x.get("planDate")		}

}

问题分析

但是存在的问题是:

  1. 编辑后的进入的显示不正确, 会显示日期对象,而不是’Y/m/d’。

  2. 保存的时候数据会清空。

    原因: 编辑后的数据绑定回Store是Date型的,但是从后端取的是String类型的。

解决方法

  1. 类型转换

    {
    text : ‘Planned Value’,
    dataIndex : ‘planDate’,
    format:‘Y/m/d’,
    flex : 2,
    renderer: function(val){
    if(val == null) return “”;

    return Ext.Date.format(new Date(val), 'Y/m/d'); }

    }

  2. 保存是类型转换

    var param = modifiedRecord.map(function(x) {
    var planDate = x.get(“planDate”);
    if(planDate!=null&&(planDate instanceof Date)){
    planDate = Ext.Date.format(x.get(“planDate”), “Y/m/d”);
    }
    return {
    obid : x.get(“obid”),
    planDate : planDate
    }
    });

转载地址:https://oscar.blog.csdn.net/article/details/90447815 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Linux(RedHat)下Weblogic 12C静默安装
下一篇:Python 入门介绍

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月14日 00时57分22秒