Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

dianaemanuel

TextBox com Calendário

Recommended Posts

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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.