Por exemplo tenho esse componente:
package components {
import flash.events.FocusEvent;
import flash.events.KeyboardEvent;
import mx.controls.Alert;
import mx.controls.DateField;
import mx.events.FlexEvent;
import mx.events.ValidationResultEvent;
import mx.validators.DateValidator;
public class dataField extends DateField {
[Bindable]
private var
FDataInicial: String = 'Vazio',
FCheckDate: Boolean = true;
[Bindable]public var formatoData:String;
[Inspectable(
category = "appinnovation",
enumeration = "Hoje,Vazio"
)]
public function get DataInicial(): String {
return(FDataInicial);
}
public function set DataInicial(ADataInicial: String): void {
FDataInicial = ADataInicial;
}
[Inspectable(
category = "appinnovation",
enumeration = "true,false"
)]
public function get CheckDate(): Boolean {
return(FCheckDate);
}
public function set CheckDate(ACheckDate: Boolean): void {
FCheckDate = ACheckDate;
}
public function dataField() {
super();
// Legenda para os dias da semana
dayNames = ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'];
// Formato para data
//formatString = 'DD/MM/YYYY';
formatString = formatoData;
// Restrict usado para evitar que o usuário digite A-Z
restrict = "0-9, /";
// Tradução dos meses
monthNames = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio',
'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
// Irá permitir que o usuário digite a data
editable = true;
// Inicia o calendário no Domingo
firstDayOfWeek = 0;
// Habilita a navegação por ano.
yearNavigationEnabled = true;
width = 100;
/* Adicionando ao evento de focusOut o método que irá colocar
máscara na data digitada pelo usuário */
addEventListener(FocusEvent.FOCUS_OUT, proSetMask, false, 0, true);
/* Adiciona ao evento keyDown o método para "abrir" o calendário
ao pressionar ESPAÇO */
addEventListener(KeyboardEvent.KEY_DOWN, proKeyDown, false, 0, true);
// Adicina ao evento creationComplete o método que irá preencher a data
addEventListener(FlexEvent.CREATION_COMPLETE, proDataInicial, false, 0,
true);
}
private function proDataInicial(E: FlexEvent): void {
if (FDataInicial == 'Hoje')
data = new Date();
}
private function proKeyDown(E: KeyboardEvent): void {
// Espaço
if (E.keyCode == 32)
open();
}
private function proSetMask(evFocus: FocusEvent): void {
if ((text.charAt(2) != '/') || (text.charAt(5) != '/')) {
if (text.length == 6)
text = text.substr(0, 2) + '/' + text.substr(2,2) + '/' + text.substr(4,
4);
else if (text.length == 8)
text = text.substr(0, 2) + '/' + text.substr(2,2) + '/' + text.substr(4,
4);
}
// Verifica se a opção para validar a data está ativa
if (FCheckDate)
proCheckDate();
}
private function proCheckDate(): void {
var
_rDateValidator: DateValidator = new DateValidator();
_rDateValidator.source = this;
_rDateValidator.required = false;
_rDateValidator.property = 'text';
_rDateValidator.inputFormat = 'dd/mm/yyyy';
_rDateValidator.allowedFormatChars = '/-';
_rDateValidator.wrongDayError = 'Favor informar um dia válido para o mês.'
_rDateValidator.wrongLengthError = 'Favor informar a data no formato
dd/mm/aaaa.'
_rDateValidator.wrongMonthError = 'Favor informar um mês entre 1 e 12.'
_rDateValidator.validate();
}
}
}
ai esse cara quando vou colocar DatetoString ele não funciona.
Qualquer dúvida estou a disposição.
*Robinho*
*Analista/Programador de Sistemas*
*Skype: robinhocne*
*"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o
impossível."*
Em 8 de junho de 2014 10:56, Robinho de Morais <[email protected]>
escreveu:
> Bruno deu certo cara...mas tipo eu não consigo usar um componente que
> criou da data.
>
> Qualquer dúvida estou a disposição.
>
> *Robinho*
> *Analista/Programador de Sistemas*
> *Skype: robinhocne*
> *"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o
> impossível."*
>
>
> Em 7 de junho de 2014 09:23, Bruno Borges <[email protected]>
> escreveu:
>
> Robinho
>> tenta utilizar
>>
>> DateField.dateToString(dtTeste.selectedDate,'DD/MM/YYYY')
>>
>>
>> Em 6 de junho de 2014 23:59, Robinho de Morais <[email protected]
>> > escreveu:
>>
>> Pessoal, fiz de tudo mas não consegui encontrar o porque que quando
>>> utilizado o DateFormatter em um dateField estranhamente até dia 12
>>> ele mostra a informação, mas do dia 13 até 31 não mostrar, vai
>>> entender....
>>>
>>> Meu DateFormatter
>>>
>>> <mx:DateFormatter id="dtFormatBD" formatString="YYYY-MM-DD" />
>>>
>>> Meu DateField
>>>
>>> <mx:DateField id="dtTeste" x="232" y="71" width="120"
>>> formatString="DD/MM/YYYY"/>
>>>
>>>
>>> Alert.show(dtFormatBD.format(dtTeste.text);
>>>
>>>
>>> <https://lh3.googleusercontent.com/-3xMHGXiEJkc/U5J_KUATFmI/AAAAAAAAFo4/kDdJ_mJ9RN0/s1600/data.png>
>>>
>>> <https://lh3.googleusercontent.com/-162RE4ywuSg/U5J_QbJTFzI/AAAAAAAAFpE/s0ViccBt9Ng/s1600/data2.png>
>>>
>>> porque acontece isso ?
>>>
>>> uso o adobe Flex 4.6 e flash player 12.0.0.77
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>> Para sair da lista, envie um email em branco para
>>> [email protected]
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>> ---
>>> Você recebeu essa mensagem porque está inscrito no grupo quot;flexdev"
>>> dos Grupos do Google.
>>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>>> envie um e-mail para [email protected].
>>> Para mais opções, acesse https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Bruno Moreira Borges
>> Sistemas Web e Linux
>> "Posso explicar software gratuito em três palavras: liberdade, igualdade
>> e fraternidade"
>> Richard Stallman,
>>
>> --
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>> ---
>> Você recebeu essa mensagem porque está inscrito no grupo quot;flexdev"
>> dos Grupos do Google.
>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>> envie um e-mail para [email protected].
>> Para mais opções, acesse https://groups.google.com/d/optout.
>>
>
>
--
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
---
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos
Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/d/optout.