A diferença desse código é que nele o usuário pode digitar a data desejada no campo e o componente formata a data digitada no formato Brasileiro.
<?xml version="1.0" encoding="utf-8"?>
<mx:DateField xmlns:mx="http://www.adobe.com/2006/mxml" editable="true"
formatString="DD/MM/YYYY"
labelFunction="formatIsaDateField" dayNames="['D','S','T','Q','Q','S','S']"
parseFunction="parseIsaDateField" monthNames="['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro']">
<mx:Script>
<![CDATA[
public function formatIsaDateField(currentDate:Date):String {
var textoResult:String=DateField.dateToString(currentDate, this.formatString);
return textoResult;
}
public function parseIsaDateField(valueString:String, inputFormat:String):Date {
var stringDataFormatada:String=IsaDateField.format(valueString, inputFormat);
var dateResult:Date=DateField.stringToDate(stringDataFormatada, "DD/MM/YYYY");
return dateResult;
}
public static function format(value:String, inputFormat:String):String {
if (value == null) {
return "";
}
var stringDataOriginal:String=value as String;
stringDataOriginal=stringDataOriginal.replace(/(\/)/g, "");
var dia:String="";
var mes:String="";
var ano:String="";
var dataFormatada:String="";
if (inputFormat == 'MM/YYYY') {
stringDataOriginal = "01" + stringDataOriginal;
}
if (stringDataOriginal.length >= 1) {
dia=stringDataOriginal.substring(0, 2);
}
if (stringDataOriginal.length >= 3) {
mes=stringDataOriginal.substring(2, 4);
}
if (stringDataOriginal.length >= 5) {
ano=(stringDataOriginal.length == 6) ? stringDataOriginal.substring(4, 6) : stringDataOriginal.substring(4,
8);
}
if (dia.length == 2) {
dataFormatada+=dia + "/";
} else {
return value as String;
}
if (mes.length == 2) {
dataFormatada+=mes + "/";
} else {
return dataFormatada + mes;
}
if (ano.length == 2) {
var tempNumber:Number=new Number(ano);
if (tempNumber >= 20) {
ano="19" + ano;
} else {
ano="20" + ano;
}
}
return dataFormatada + ano;
}
]]>
</mx:DateField>
Exemplo do componente funcionando:
Ou clique aqui para ver a aplicação com código-fonte;
Ou aqui pra ver código-fonte diretamente;
Cortesia Inside System - Negócios em Tecnologia
http://www.insidesystem.com.br
.
Nenhum comentário:
Postar um comentário