Extjs 怎么使用一个datefield控件实现选择一个时间段

解决方案 »

  1.   

    设置 minValue 和 maxValue 
      

  2.   


    new Ext.form.DateField({                    
     format:'Y-m-d',
     id : 'end_dt',
     name : 'end_dt',
     width:200,
     minValue : new Date(),
                     //maxValue : new Date(),
     allowBlank : true
     })
      

  3.   

    官方不是有例子吗
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Advanced VType Examples</title>    <link rel="stylesheet" type="text/css" href="http://dev.sencha.com/deploy/ext-4.0.0/resources/css/ext-all.css" />
        <script type="text/javascript" src="http://dev.sencha.com/deploy/ext-4.0.0/bootstrap.js"></script>    <script type="text/javascript">

    Ext.require([
        'Ext.form.*'
    ]);Ext.onReady(function() {    // Add the additional 'advanced' VTypes
        Ext.apply(Ext.form.field.VTypes, {
            daterange: function(val, field) {
                var date = field.parseDate(val);            if (!date) {
                    return false;
                }
                if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
                    var start = field.up('form').down('#' + field.startDateField);
                    start.setMaxValue(date);
                    start.validate();
                    this.dateRangeMax = date;
                }
                else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
                    var end = field.up('form').down('#' + field.endDateField);
                    end.setMinValue(date);
                    end.validate();
                    this.dateRangeMin = date;
                }
                return true;
            },
            daterangeText: 'Start date must be less than end date'
        });    /*
         * ================  Date Range  =======================
         */    var dr = Ext.create('Ext.FormPanel', {
            renderTo: 'dr',
            frame: true,
            title: 'Date Range',
            bodyPadding: '5px 5px 0',
            width: 350,
            fieldDefaults: {
                labelWidth: 125,
                msgTarget: 'side',
                autoFitErrors: false
            },
            defaults: {
                width: 300
            },
            defaultType: 'datefield',
            items: [
                {
                    fieldLabel: 'Start Date',
                    name: 'startdt',
                    id: 'startdt',
                    vtype: 'daterange',
                    endDateField: 'enddt' // id of the end date field
                },
                {
                    fieldLabel: 'End Date',
                    name: 'enddt',
                    id: 'enddt',
                    vtype: 'daterange',
                    startDateField: 'startdt' // id of the start date field
                }
            ]
        });
    }); </script>
        <style type="text/css">
            #dr, #pw {
                margin-bottom: 30px;
            }
        </style>
    </head><body>
        <div id="dr">
        </div>
    </body>
    </html>
      

  4.   


    一个datefield  实现 选择一个时间段,你用了两个了
      

  5.   


    datefield控件只能用一个,选择得出一个时间段
      

  6.   


    用一个datafield控件,选出两个时间点
      

  7.   

    在项目里需要拷贝那几个文件进去啊,我只拷了ext-all.js和ext-base.js如果要用树形控件还要拷什么啊,怎么找啊?