根据不同的条件覆盖ExtJs 4中的日期字段格式

时间:2014-06-24 15:39:02

标签: extjs extjs4 extjs4.1 extjs4.2 extjs-mvc

我想覆盖日期字段格式,具体取决于我来自的国家/地区。我编写了以下函数,然后使用Ext.Loader.loadScript来应用它。但这并没有覆盖datefield格式。我在ExtJS 4中实现了这一点。有人建议我如何覆盖日期文件格式。谢谢:))

function fnc() {
                    switch (params.country) {
                    case 'USA':
                        Ext.override(Ext.form.DateField, {
                            format : 'm/d/Y'
                        });

                    Ext.override(Ext.grid.DateColumn, {
                        format : 'm/d/Y'
                    });

                    Ext.override(Ext.picker.Date, {
                        format : 'm/d/Y'
                    });
                    break;

                case 'MEX':
                    Ext.override(Ext.form.DateField, {
                        format : 'd/m/Y'
                    });

                    Ext.override(Ext.grid.DateColumn, {
                        format : 'd/m/Y'
                    });

                    Ext.override(Ext.picker.Date, {
                        format : 'd/m/Y'
                    });

                    break;

                default:
                    Ext.override(Ext.form.DateField, {
                        format : 'm/d/Y'
                    });

                    Ext.override(Ext.grid.DateColumn, {
                        format : 'm/d/Y'
                    });

                    Ext.override(Ext.picker.Date, {
                        format : 'm/d/Y'
                    });
                    break;

            };
        }

1 个答案:

答案 0 :(得分:0)

现在正在工作, 在app.js的启动函数中添加了以下内容,

         Ext.Loader.loadScript({url:URL,onLoad:function(){
             debugger;

             var dateObj = {};
             dateObj.format = "";

        switch(country) {
            case "USA":
                dateObj.format = "m/d/Y";
            break;

            case "MEX":
                dateObj.format = "d/m/Y";
            break;

            default: // USA, etc. 
                dateObj.format = "m/d/Y";
        }
        Ext.override(Ext.form.field.Date, dateObj);      
         }
         });

并且不要在字段定义中指定任何格式,