Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

dianaemanuel

TextBox com Calendário

Mensagens Recomendadas

dianaemanuel

Bom dia,

Estou a desenvolver uma página web e queria que quando o utilizador fosse escrever uma data na TextBox esta mostrasse o calendário, e quando mostrasse o calendário o utilizador seleccionava  a data e que esta fica-se na TextBox.

Eu sei que existem controlos no Toolbox que fazem isso mas eu não tenho esses controlos no meu visual studio. Estou a desenvolver em aspx e na linguagem c#.

cumprimentos

dianaemanuel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas dianaemanuel,

Faz uma pesquisa AjaxControlToolkit  Encontras ai varias ferramentas para isso. É uma dll que tens os mais avançados controls Ajax que pode ser-te util para variadas coisas.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

Eu já andei a investigar sobre isso e até já instalei no meu visual studio.

Inseri uma TextBox e depois no codigo Source arrastei um CalendarExtender.

O código ficou assim:

  <asp:TextBox ID="TextBox1" runat="server" Width="272px"></asp:TextBox>
    <asp:CalendarExtender ID="CalendarExtender1" runat="server" FirstDayOfWeek="Sunday" Format="dd/MM/yyyy" TargetControlID="TextBox1"> </asp:CalendarExtender>

mas está a dar me erro.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

Já não dá o erro.

Estou a fazer assim:

<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnableScriptLocalization="true" />
<asp:TextBox ID="TextBox1" runat="server" Width="272px"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtenderData" runat="server" 
        TargetControlID="TextBox1" SelectedDate="2010-05-18" Format="d/MM/yyyy" 
        TodaysDateFormat="d MMM, yyyy" />
<cc1:MaskedEditExtender ID="MaskedEditExtender2" runat="server" TargetControlID="TextBox1" MaskType="Date" Mask="99/99/9999" />   

E tinha que colocar no web.config este código:

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="pt-br"/>

Agora estou a tentar descobrir é como é que coloco a data com "-" em vez de "/".

E outra duvida, os campos da tabela são do tipo Date/Time e eu só estou a conseguir colocar a data e não estou a conseguir colocar as horas.

cumprimentos

dianatecelao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
renafi

Base de Dados é Sql, certo?

Se quiseres enviar os valores com "-", se calhar a melhor forma é no insert , usas a função Convert.

Mas mostra como estás a enviar os dados, para ver isso das horas.


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas,

Facil  :P

onde tens

Format="d/MM/yyyy" 

Colocas

Format="d-MM-yyyy" 

e onde tens

Mask="99/99/9999"

colocas

Mask="99-99-9999"

e penso que o problema fica resolvido.

Se não ficar diz e se ficar solucionado diz também  :cheesygrin:

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

sim é em sql mas afinal já não é preciso porque ele guarda na base de dados com "-", ou seja, eu na TextBox insiro 18/05/2010 mas na base de dados fica 18-05-2010.

Relativamente ás horas também já está resolvido, é este o código:

<cc1:CalendarExtender ID="CalendarExtenderData" runat="server" 
                             TargetControlID="DataTextBox"  TodaysDateFormat="d MMM, yyyy" Format="d/MM/yyyy HH:mm:ss" />  

Tive que retirar o MaskedEditExtender, porque eu pensava que estes dois controlos funcionassem juntos e afinal não, o calendarextender mostra-me um calendário e o MaskedEditExtender dá nos os espaços para preencher, tipo: __/__/____ __:__:__.

Mas pa quem quiser utilizar o MaskedEditExtender aqui está o código:

<cc1:MaskedEditExtender ID="MaskedEditExtenderData" runat="server" TargetControlID="DataTextBox" MaskType="DateTime" Mask="99/99/9999 99:99:99" UserDateFormat="DayMonthYear" UserTimeFormat="TwentyFourHour" />

Só existe um problema com este código que é quando insiro a hora ele assume os valores da data, ou seja, eu coloco a data de hoje: 18/05/2010 e ele coloca como hora 18:05:10.

cumprimentos

dianaemanuel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.