ExtJS DateField à l'aide de différents format d'affichage
Je suis en utilisant un ExtJS DateField de contrôle dans un ASP.NET application web MVC.
J'ai mis format
à la propriété "Y-m-d", de sorte qu'il va analyser correctement le "2009-08-11" format à partir du serveur, et aussi de l'envoyer dans ce format.
Cependant, j'aimerais afficher les données dans une autre, plus convivial, le format, en particulier "d mmm yyyy" en espagnol.
Je n'arrive pas à comprendre comment le faire. Je ne pense pas que le altFormats
de la propriété est de vous aider, étant donné que seulement ajoute plus d'analyser les formats.
Est-il possible d'utiliser un autre d'analyser le format d'affichage format? Ou suis-je les choses à ce sujet dans le mauvais sens?
- Utilisation personnalisée de rendu de fonction d'affichage de l'espagnol format correctement.
Vous devez vous connecter pour publier un commentaire.
oui. Il est possible.
Voir http://extjs.com/deploy/dev/docs/?class=Date pour les formats de date.
Pour ce qui peut être personnalisé, à la sortie de la boîte, voir le ext-3.0.0\src\locale\ dossier. Inclure le fichier ou simplement personnaliser votre propre, en utilisant des fichiers comme modèle.
Par exemple :
Ce qui concerne,
Joshua
formatDate
etparseDate
sur le contrôle de l'air très prometteur! Je ne savais pas à ceux qui existaient, ils ne sont pas dans la documentation (au moins pas sur la page que je suis en train de regarder). Je vais voir si je peux obtenir mon comportement souhaité par substitution de ces deux fonctions.formatDate
n'est pas aussi utile que je pensais au départ, cette fonction est utilisée à la fois la chaîne de caractères qui sont présentés à l'utilisateur, et la chaîne de l'envoyer vers le serveur. Je veux vraiment que les deux chaînes...En fait, la
format
config est utilisé à la fois pour l'analyse ET pour définir le format d'affichage. Aussi longtemps quealtFormats
contient tous les possibles de types de formats de données que vous souhaitez soutenir pour l'analyse (la valeur par défaut inclut Y-m-d), vous devez être en mesure de faire quelque chose comme ceci:yyyy-mm-dd
que le format de la chaîne est renvoyée au serveur. Donc, je peux obtenir de l'analyse de travailler avecaltFormats
, mais le format visuel et "envoyer à un serveur" format semblent avoir été réunis dans le seulformat
de la propriété.Afin de clarifier ma compréhension, vous avez un champ de date que:
Ma première réaction, selon ma compréhension, que vous pouvez configurer votre poste date de champs de format et de valider le deuxième format ('d mmm yyyy") en utilisant le format de l'option de configuration (format:'d mmm yyyy"). Puis vous l'envoyer vers le serveur, pour votre contrôleur de l'action (je suppose), comme un paramètre de chaîne pas un DateTime. Ensuite, dans votre action de contrôleur analyser la chaîne de date et de le convertir à l'aide de:
ou similaires, puis vous pouvez convertir n'importe quel format que vous aimez, de ce que l'objet date.
Ceci ne laisse que l'abréviation du nom dans les champs de Date dans le navigateur. Je ne suis pas entièrement sûr de savoir comment Ext poignées de cela, mais je ne suis pas conscient d'être en mesure de remplacer le format de la date et de le forcer à utiliser un spécifique de la culture, de l'Ext /Javascript, donc je m'attends à ce que vous feriez à la merci du navigateur /système d'exploitation sans avoir à écrire quelque chose de vous-même.
Mise à JOUR:
Combiné avec l'exemple donné par Josué pour le mois, le jour, les noms à vous donner la solution que vous recherchez.
J'espère que ça aide.
<div>
, pas caché<input>
que je pensais. Dans ce cas, le formulaire ne fonctionne pas avec le JavaScript désactivé, mais je n'ai pas vraiment de soins à ce sujet, c'est un logiciel commercial, pas un site web grand public.Vous pourriez être intéressé par ces plugins pour DateField et TimeField:
http://www.rahulsingla.com/blog/2010/05/extjs-date-time-field-plugins-for-efficient-data-entry