Introducción


El calendario se puede poner como llamada directa, por lo que sale el diseño por defecto interno del frame, que no se puede cambiar nada y ninguno de los atributos indicados hace algo.
O se pone como content, utilizando el viewmode, entonces sí aplica todos los atributos que vamos a explicar.
A continuación se describen los controles y atributos necesarios para crear la función de calendario.

Atributos Descripción
viewmode=“calendarview”Esto es para el mes
viewmode=”week”Esto es para cambiar al modo calendario semanal
forecolor:#FFFFFFColor de fuente
bgcolor:#DFDFDFColor de fondo por defecto
cell-forecolor:#ffffffColor de fuente de la celda
cell-border-width:2Tamaño del borde de cada línea
cell-align:center Alineación de la celda
align:center Alineación general del control
fontsize:12 Tamaño de la fuente
cell-selected-bgcolor:#00000000 Color del fondo de la celda seleccionada
cell-selected-border-color:#00CC00 Color del borde de la celda seleccionada
weekdays-bgcolor:#00000000Color de los días
weekdays-forecolor:#333333,#999999,#999999,#999999,#999999,#999999,#999999Color de la fuente de cada uno de los días: DOMINGO, LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SÁBADO
weekdays-fontsize:5Tamaño de los días de la semana
weekdays-longname:false Qué tipo de nombre sale, si el tipo largo o el tipo corto
weekdays-align:topleft Alineación de esos nombres
border-width:2Tamaño de los bordes
textfont-bold:truePara hacerlo negrita bold
cell-border-color:#00000000Color borde de la celda
page-swipe:falseSi permite que se desplace los meses o las semanas con el dedo. Por defecto true
border:falseSi tiene borde o no
week-start-hour:0Inicio de la hora que se indica en el día, ya que los días se dividen entre 0 a 23:59
week-end-hour:1
cell-bgcolor=“##FLD_MAP_COLOREMPRESA##“ Color de la celda
cell-other-month-bgcolor=”##FLD_MAP_COLORCALENDARIO_NOMESACTUAL##“Color de la celda de los días del otro mes que no es el mes seleccionado
cell-selected-forecolor=”##FLD_MAP_COLOREMPRESA##“ Color de la fuente del día seleccionado. Permite width y height para poner el tamaño, lo ideal sería poner todos los atributos en una clase y asociársela


Ejemplo de cómo se llama:

<prop name="Calend" type="Z" cell-bgcolor="##FLD_MAP_COLOREMPRESA##" onchange="refresh" cell-other-month-bgcolor="##FLD_MAP_COLORCALENDARIO_NOMESACTUAL##" cell-selected-forecolor="##FLD_MAP_COLOREMPRESA##" contents="calendario" width="495px" height="240px" class="z_calendario" viewmode="calendarview" />


Control del calendario por script


this.Contents("DatosCalendario”).variables(“moveto”)=“prev” Para ir al mes o semana anterior
this.Contents(”DatosCalendario“).variables(“moveto”)=“next” Para ir al mes o semana posterior


Este nodo se ejecuta cuando se selecciona un día del mes



  <ondateselected refresh="true" show-wait-dialog="false" refresh-owner="MAP_FASE,DatosPoblaciones,MAP_FECHA,MAP_TITLE_NAMES_MES,MAP_TITLE_ANO,MAP_RUTA">
        <action name="runscript">
          <param name="DATEVALUE" />
          <param name="TIMEVALUE" />
          <param name="EVENTVALUE" />
          <script language="vbscript">   
 


Esto es para coger el valor de la fecha del día seleccionado


  thisDataColl.OwnerObject("MAP_FECHA")=DATEVALUE
              thisDataColl.OwnerObject("MAP_TITLE_NAMES_MES")=ucase(cstr(monthname(DATEVALUE)))
              thisDataColl.OwnerObject("MAP_TITLE_ANO")= cstr(year(DATEVALUE))
          </script>
        </action>
      </ondateselected>


Este nodo se ejecuta cuando se cambia el mes


      <onpageselected refresh="true" show-wait-dialog="false" refresh-owner="MAP_FASE,DatosPoblaciones,MAP_FECHA,MAP_TITLE_NAMES_MES,MAP_TITLE_ANO,MAP_RUTA">
        <action name="runscript">
          <param name="DATEVALUE" />
          <param name="TIMEVALUE" />
          <param name="EVENTVALUE" />
          <script language="vbscript">          
              thisDataColl.OwnerObject("MAP_FECHA")= DATEVALUE
              thisDataColl.OwnerObject("MAP_TITLE_NAMES_MES")=ucase(cstr(monthname(DATEVALUE)))
              thisDataColl.OwnerObject("MAP_TITLE_ANO")= cstr(year(DATEVALUE))
          </script>
        </action>
      </onpageselected>


Esto se ejecuta cuando se va a pintar el calendario, por cada celda del mismo. Si es script es pesado, puede tardar mucho.
Este nodo es anterior a los atributos que posteriormente se hicieron. Se recomienda no utilizar si se requiere velocidad.



        <oncelldraw>
        <action name="runscript">
          <param name="CELLDATE" />
          <script language="VBScript">
                               Poner el script que sea.                              
                                 </script>
        </action>
      </oncelldraw>