Bonjour,
je veux faire un formulaire de sélection d'une periode avec 2 composants datefield.
au début de mon fichier, je déclare un nouveau type daterange :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Ext.apply(Ext.form.VTypes, { daterange : function(val, field) { var date = field.parseDate(val); if(!date){ return; } if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) { var start = Ext.getCmp(field.startDateField); start.setMaxValue(date); start.validate(); this.dateRangeMax = date; } else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) { var end = Ext.getCmp(field.endDateField); end.setMinValue(date); end.validate(); this.dateRangeMin = date; } /* * Always return true since we're only using this vtype to set the * min/max allowed values (these are tested for after the vtype test) */ return true; } });
ensuite je déclare mes 2 composants et je les met dans un filedset:
Quand je clique sur l'un d'eux, j'ai bien le calendrier qui se déroule, mais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 var fromdate = new Ext.form.DateField({ format: 'Y-M-d', //YYYY-MMM-DD hideLabel: true, id: 'startdt', name: 'startdt', width:140, allowBlank:false, vtype: 'daterange', endDateField: 'enddt' // id of the 'To' date field }); var todate = new Ext.form.DateField({ format: 'Y-M-d', //YYYY-MMM-DD hideLabel: true, id: 'enddt', name: 'enddt', width:140, allowBlank:false, vtype: 'daterange', startDateField: 'startdt' // id of the 'From' date field // value: new Date() }); var pscal = new Ext.form.FieldSet({ xtype: 'fieldset', layout: 'column', border: false, width: 600, items: [{ xtype: 'fieldset', title: 'Date de début', border: false, style: 'padding:5px', items: [fromdate] }, { xtype: 'fieldset', title: 'Date de fin', border: false, style: 'padding:5px', items: [todate] } ] });
- les flèches mois suivant/mois précédent sont inactives
- quand je sélectionne un jour dans le calendrier, c'est le jour correspondant du mois suivant qui s'affiche dans le champ !
une idée du problème ?
Merci,
Nico
Partager