Desenvolvimento - ASP. NET

ASP.NET: Visão Geral do controle Calendar

O controle Calendar permite inserir um calendário em um Web Form, veja como nunca foi tão fácil inserir um calendário em uma página web.

por Cristian Arrano Townsend



Pra quem não sabe inglês, Calendar significa calendário. Sim, eu sei que é ridiculo começar um artigo assim.

Bom, falando sério agora, o controle Calendar permite inserir um calendário em um Web Form. Nunca foi tão fácil inserir um calendário em uma página. Quem desenvolve em web antes do asp.net sabe o quanto era doloroso misturar aquela quantidade enorme de código asp (ou javascript) em uma página e depois integrar na nossa aplicaçao. Bom, pois seus problemas acabaram....

O controle permite a seleção de um determinado dia, semana, mes ou até mesmo alguns dias.

O layout do controle é 100% customizável e gera tabelas HTML. Nada de ActiveX.

A figura abaixo mostra o controle e seus principais elementos.

Abaixo é mostrada uma tabela com as principais propriedades do controle Calendar

Propriedade

Descrição

CellPadding

Especifica a distancia em pixels entre a borda e o conteúdo da célula

CellSpacing

Especifica a largura em pixles entre as celulas do controle

DayHeaderStyle

Especifica as propriedades de estilo da seção onde os dias da semana são mostrados. Funciona somente se a propriedade ShowDayHeader é True.

DayNameFormat

Especifica o formato dos nomes para os dias da semana. Pode ser: FirstLetter, FirstTwoLetters, Full ou Short (default).

DayStyle

Especifica as propriedades dos dias do mes.

FirstDayOfWeek

Especifica o dia semana a ser mostrado na primeira coluna do controle.

NextMonthText

Especifica o texto para o elemento de navegação para seleção do próximo mes. O valor por default é (>)

NextPrevFormat

Especifica o formato do texto para os elementos de navegação que seleciona o mes anterior e o proximo do calendario.

NextPrevStyle

Define o estilo para os elementos de navegação do mes anterior e do proximo.

OtherMonthDayStyle

Especifica o estilo para os dias que nao pertencem ao mes mostrado.

PrevMonthText

Especifica o texto para os elementos de navegação para o mes anterior. O valor padrao é (<).

SelectedDate

Especifica a data selecionada.

SelectedDates

Especifica uma coleção de datas selecionadas.

SelectedDayStyle

Especifica o estilo para o dia selecionado no controle

SelectionMode

Especifica o modo de seleção de datas. Os valores podem ser: Day, DayWeek e DayWeekMonth.

SelectMonthText

Especifica o texto para a seleção do mes. O valor padrao é (>>).

SelectorStyle

Especifica o estilo para a seleção da semana e mes.

SelectWeekText

Especifica o texto para a seleção da semana. O valor padrao é (>)

ShowDayHeadder

Indica se mostra o nome do dia da semana. O valor padrao é True.

ShowGridLines

Indica se a tabela é separada por linhas.

ShowNextPrevMonth

Indica se os elementos de nevegação por mes é mostrado ou nao.

ShowTitle

Indica se é mostrado ou nao o titulo do controle

TitleFormat

Especifica o formato do titulo do controle. Pode ser Month ou MonthYear.

TitleStyle

Especifica o estilo para o titulo do controle.

TodayDayStyle

Especifica o estilo para a data atual no controle

TodaysDate

Especifica o dia de hoje no controle.

VisibleDate

Especifica o mes a ser mostrado no controle dependendo no valor desta propriedade.

WeekendDayStyle

Especifica o estilo para os dias do fim de semana no controle.

Eventos do controle

Evento

Descriçao

DayRender

Ocorre quando é criado o controle. Este evento ocorre depois que o controle é criado, mas antes da página ser renderizada.

SelectionChanged

Ocorre quando o usuario muda a seleção do controle.

VisibleMonthChanged

Ocorre quando a seleção do mes é mudada quando o usuario faz um click nos elementos mes anterior e proximo.

Um exemplo

Bom pessoal, chegou a hora de criar um exemplo.

  1. Crie um novo Web Form no Visual Studio .NET chamado exemploCalendar.aspx
  2. Insira um controle do tipo Calendar no Web Form. (ToolBox -> Web Controls)
  3. Insira 1 label, com ID=lblMessage.
  4. Configure a propriedade NextPrev do Calendar para ShortMonth, a propriedade SelectMonthText para Month e a propriedade SelectWekkText para Week.
  5. No code-behind, insira a seguinte linha: Imports System.Text
  6. Fazendo um duplo clique no controle, vamos inserir o código mostrado abaixo;
Private Sub Calendar1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles Calendar1.SelectionChanged
   Dim sbMessage As New StringBuilder
   sbMessage.Append("A(s) data(s) selecionada(s) sao: 
") Dim i As Integer For i = 0 To Me.Calendar1.SelectedDates.Count - 1 sbMessage.Append(Me.Calendar1.SelectedDates(i).ToShortDateString & "
") Next Me.lblMessage.Text = sbMessage.ToString End Sub

O exemplo ficará como é mostrado na figura abaixo.

Abraços a todos.

Cristian Arrano Townsend

Cristian Arrano Townsend - Trabalha há 12 anos com desenvolvimento de software. Atualmente trabalha como consultor da FCAMARA em Curitiba, trabalhando com .NET, Metodologias Ágeis e Sharepoint. Possui algumas certificações Microsoft .NET e é Certified Scrum Master