No artigo de hoje, vou mostrar como mudar o título de um dia na montagem de um FWCalendar.
Esse artigo foi montado com a ajuda do grande Alexandre Behling ( LinkedIn ).
Antes de começarmos o tutorial, se você nunca usou FWCalendar, segue um artigo com exemplo completo – Exemplo de tela com FWCalendar.
Agora vindo para nosso exemplo, em uma tela feito com FWCalendar, usuários me perguntaram se existia a possibilidade de alterar o título de um dia, para identificar se é um Feriado ou um Fim de Semana.
Então na montagem do calendário, a lógica seria a seguinte:
- Durante o laço de repetição que percorre todos os dias
- Pega o dia atual, e deixa com dois dígitos
- Se o dia atual não for uma data válida
- Se o dia da semana for 1 (domingo) ou 7 (sábado), terá o texto FDS, senão terá o texto Feriado
- Define o texto e a cor do texto como vermelho
- Se a data for válida, será apenas o dia e a cor do texto em azul
Abaixo um print de exemplo do mês de Janeiro de 2021:
E abaixo o código fonte desenvolvido:
dDataAtu := oCalend:aCell[nCell][DATADIA] cObsText := "" cDia := StrZero(Day(dDataAtu), 2) //Se a data não for válida If DataValida(dDataAtu) != dDataAtu //Se for domingo ou sábado, será FDS senão será FERIADO If Dow(dDataAtu) == 1 .Or. Dow(dDataAtu) == 7 cObsText := "FDS" Else cObsText := "FERIADO" EndIf //Define o título da célula cHtml := '<html><p style="color: #ff0000;"><b>' + cDia + ' - ' + cObsText + '</b></p></html>' oCalend:aCell[nCell][OBJETO]:oEditTitle:cTitle := cHtml Else //Define o título da célula cHtml := '<html><p style="color: #0000ff;"><b>' + cDia + '</b></p></html>' oCalend:aCell[nCell][OBJETO]:oEditTitle:cTitle := cHtml EndIf
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Tem o código fonte atualizado deste calendário? Gostaria de saber o código para criar o link para altera o Mês / Ano do calendário. O fonte disponibilizado não contém essa funcionalidade.
Bom dia Francisco. Tenho sim, basicamente a lógica é assim:
1. Crie um label que ficará entre os dois botões de navegação, e esse label terá uma função quando clicar nele (obs.: crie a variável oMesAtual como Private no começo da função)
2. Nessa função, você adiciona um Pergunte ou ParamBox solicitando a data
3. O usuário confirmando, ai você aciona a função para atualizar o mês/ano
4. Por último, na função de mudar o mês e o ano, você atualiza o label
Abaixo os trechos conforme a lógica acima: