Utilizaremos una tabla de 6 filas y 7 columnas
La variable de tipo fecha indice, recorre todos los días del mes, diasemini contiene el día de la semana del primer día del mes para controlar en qué columna de la primera fila empezamos a pintar los días. Comenzar y final de tipo boolean marcarán el comienzo y el fin de los días que se pintan en la tabla.
<%
DateTime indice = fini;
cFechas dfechas = new cFechas();
int diasemini = (int)fini.DayOfWeek;
bool comenzar = false;
bool final = false;
if (diasemini == 0)
{
diasemini = 7;
}
%>
<h1><%Response.Write(this.DropDownList1.SelectedItem.ToString()+" de "+this.DropDownList2.SelectedItem.ToString()); %></h1>
<table cellpadding="2px" cellspacing="0px" >
<tr align='center'><td>Lunes</td><td>Martes</td><td>Miércoles</td><td>Jueves</td><td>Viernes</td><td>Sábado</td><td>Domingo</td></tr>
<%
for (int fila = 1; fila <= 6; fila++)
{
%>
<tr valign='top'>
<%
for (int col = 1; col <= 7; col++)
{
Response.Write("<td style='border: 1px solid #000000; font-size: small; vertical-align: top; text-transform: lowercase; width: "+ancho+"; height: 50px; ");
if (!final)
{
if (!comenzar)
{
if (col == diasemini)
comenzar = true;
else
Response.Write("'>");
}
if (comenzar)
{
Response.Write(" background-color: #DE9600; color: #A50031;'>");
if (!url.Equals("nada"))
Response.Write("<a href='"+ url + "?fecha="+indice.ToShortDateString()+"' target='_blank'>");
%>
<div style='text-align:right; font-size:x-large; font-weight:bold'><% Response.Write(indice.Day.ToString());%>
</div>
<%
if (!url.Equals("nada"))
Response.Write("</a>");
int diasem = (int)indice.DayOfWeek;
if (diasem == 0) diasem = 7;
// System.Data.DataTable datos = dfechas.ocupado(indice);
System.Data.DataTable datos = datos_fecha_agrupa(indice);
Response.Write("<table width='"+ ancho+"'>");
if (datos!=null && datos.Rows.Count>0)
{
foreach (System.Data.DataRow dfila in datos.Rows)
{
Response.Write("<tr>");
int i=0;
foreach (System.Data.DataColumn dcolumna in datos.Columns)
{
if (agrupar && i == 1)
{
Response.Write("<td align='right'>");
}
else
{
Response.Write("<td>");
}
Response.Write(dfila.ItemArray[i].ToString());
Response.Write("</td>");
i++;
}
Response.Write("</tr>");
}
}
Response.Write("</table>");
if (indice.CompareTo(ffin) >= 0) final = true;
indice = indice.AddDays(1);
}
}
else
Response.Write("'>");
Response.Write("</td>");
}
Response.Write("</tr>");
}
Response.Write("</table>");
%>
viernes, 29 de agosto de 2008
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario