Array
(
)

Componente para entrada de datas - sugestões

Gandalf.nho
   - 28 abr 2008

Alguém pode me indicar um componente gratuito para entrada de datas que seja compatível com ASP. NET 1.1? Tipo um DatePicker ou um MaskEdit. Eu sei que existe o componente Calendar, mas ele tem o problema de ocupar mais espaço na tela.

Todos os componentes que tenho achado são pagos e/ou apenas para .NET 2.0, e os 2 ou 3 que peguei para testar não funcionam.

Gandalf.nho
   - 05 mai 2008

Será que não existe um componente gratuito para ASP. NET 1.1 que ajude na entrada de datas, e que não seja o Calendar?

Burnbr
   - 05 mai 2008

Boa tarde,

nas minhas aplicacoes deixo uma text como enable false e o usuario nao poder digitar.
ai deixo um link que quando ele clica abre um pop-up com o calendar,
quando ele escolhe a data o popup fecha e a txt é preenchida.
Isso usando javascript.

Espero ter ajudado.

Gandalf.nho
   - 15 mai 2008

E como eu faria isso? Não conheço nada de JavaScript.

Ricardo Silva
   - 15 mai 2008

da uma olhada neste site...

no começo é complicado... mas da pra integar aguns componentes dessa biblioteca... compença gastar um tempinhuuu estudando ela...
Palavra de membro Junior.

http://extjs.com/products/extjs/

exemplo
http://extjs.com/deploy/dev/examples/form/adv-vtypes.html

Gandalf.nho
   - 15 mai 2008

Agradeço a indicação, mas infelizmente é um produto comercial, e isso está fora do meu alcance aqui onde trabalho, mas se você sabe JavaSCript talvez possa descobrir o que tem de errado aqui. Eu arrumei um exemplo para colocar máscaras em TextBox usando JavaScript, os exemplos funcionam, com exceção da data. Tem idéia do que poderia ser?

#Código

function mdate(v){ 
    v=v.replace(/D/g,"") 
    v=v.replace(/\d{2}\/\d{2}\/\d{4}/,"function mdate(v){ 
v=v.replace(/D/g,"")
v=v.replace(/\d{2}\/\d{2}\/\d{4}/,"$1/$2/$3")
return v
}/function mdate(v){
v=v.replace(/D/g,"")
v=v.replace(/\d{2}\/\d{2}\/\d{4}/,"$1/$2/$3")
return v
}/") return v }


Para comparação, esse aqui funciona:

#Código
function cep(v){ 
    v=v.replace(/D/g,"") 
    v=v.replace(/^(\d{5})(\d)/,"function cep(v){ 
v=v.replace(/D/g,"")
v=v.replace(/^(\d{5})(\d)/,"$1-$2")
return v
}-function cep(v){
v=v.replace(/D/g,"")
v=v.replace(/^(\d{5})(\d)/,"$1-$2")
return v
}") return v }


Ricardo Silva
   - 16 mai 2008

axo que entendi o que vc quer...

da pra mascarar os campos emqnto o usuário digita.
javaScript:
#Código

//função que deixa escrever apenas numeros de 0 a 9 apenas
function PermiteNumeros(){
  var tecla = window.event.keyCode;
  tecla = String.fromCharCode(tecla);
  if(!((tecla >= "0") && (tecla <= "9"))){
    window.event.keyCode = 0;
  }
}
//Formatação com Mascara
// EX. txtCpf.Attributes.Add("OnKeyPress", "formatar(this,´#..-´);");
function formatar(src, mask){
PermiteNumeros();
    var i = src.value.length;
    var saida = mask.substring(0,1);
    var texto = mask.substring(i)
    if (texto.substring(0,1) != saida) {
    src.value += texto.substring(0,1);
    }
}


no code Behide
#Código
//no load da pagina vc faz
txtNascimento.Attributes.Add("OnKeyPress", "formatar(this,´#//´);");


na duvida é soh posta

Gandalf.nho
   - 19 mai 2008

Opa, desculpe pela demora, só agora vi tua resposta.

Eu passei o código para um arquivo .js e declarei a linha no evento Load da página, mas não está funcionando. Alguma idéia?

Ricardo Silva
   - 20 mai 2008

qual erro que da???
vc sabe debugar javaScript (tem uma manha pra isso)???

ah.. vc referenciou o arquivo javaScript????

me fala o erro que te deou a resposta...

Gandalf.nho
   - 20 mai 2008

Não dá erro nenhum, simplesmente não ocorre nada de diferente.

Eu coloquei o código que tu passou num arquivo js, declarei o arquivo na página ASPX (<script language=´javascript´ type=´text/javascript´ src=´/scripts/Util.js´></script>) e pus aquela linha no code behind atribuindo a função ao textbox (só que tive que usar aspas simples ao invés de duplas pq o compilador não aceitou as duplas).

Quanto à debugar, não entendo nem de javascript, só queria algo para poder entrar datas de uma maneira mais fácil.

Ricardo Silva
   - 21 mai 2008

gandalf.nho...

provavelmente na barra de estatus do seu InternetExplorer (se é o q vc ta usando) aparece assim, ´Pagina funcionando, mas contem erros´.
Esta é uma menssagem amigavel do IE. vo te pedir um favor....

no Internet Explorer
--vai em ferramentas
---> Opções da Internet
--Na aba avançadas procure a propriedade Navegação
-- altere 3 Campo lá:
desmarque os campos
* Desabilitar depuração de script(IE)
* Desabilitar depuração de script(outros)
* Mostrar Mensagens de erros http amigaveis

vexe o IE e rode seu sistema novamente, se tiver irro de javaScript ele ira retornar a linha do erro do arquivo javaScript, ou entaum de alguns html, se vc me passar a mensagem fica facil pra mim....

Ah.. naum esqueça de voltar pq as opçoes padroes pq existem muitos sites com erros de Script, o Proprio DevMidia tem alguns...

Na duvida soh posta
Abraços...

Ricardo Silva
   - 21 mai 2008

Ah.. e pra provar que funciona...

cole e copie este codigo em um bloco de notas e salve como extenção .htm e ve se é o q vc quer
#Código

<head>
    <script>
        //função que deixa escrever apenas numeros de 0 a 9 apenas 
        function PermiteNumeros(){ 
          var tecla = window.event.keyCode; 
          tecla = String.fromCharCode(tecla); 
          if(!((tecla >= "0") && (tecla <= "9"))){ 
            window.event.keyCode = 0; 
          } 
        } 
        //Formatação com Mascara 
        // EX. txtCpf.Attributes.Add("OnKeyPress", "formatar(this,´#..-´);"); 
        function formatar(src, mask){ 
           PermiteNumeros(); 
            var i = src.value.length; 
            var saida = mask.substring(0,1); 
            var texto = mask.substring(i) 
            if (texto.substring(0,1) != saida) { 
               src.value += texto.substring(0,1); 
            } 
        } 
    </script>
    <title>
Datas JavaScript
</title></head>
<body>
    <form name="form1" method="post" action="Default.aspx" id="form1">    
    <input name="TextBox1" type="text" maxlength="10" id="TextBox1" OnKeyPress="formatar(this,´#//´);" />    
</form>
</body>
</html>


na duvida soh posta

Gandalf.nho
   - 27 mai 2008

Desculpe pela demora em responder, eu andei tentando fazer o script funcionar sem sucesso, mas agora consegui resolver meu problema com um componente gratuito que encontrei, mas agradeço a ajuda e desculpe qualquer inconveniência.

Ricardo Silva
   - 27 mai 2008

me diz ai...

que componente é esse...

gostaria de conhecer tambem...

Gandalf.nho
   - 28 mai 2008

É esse aqui: http://www.basicdatepicker.com/bdplite/