如何在绿色,2个橙色日期选择器中标记8天并执行此操作直到年底? 从数据库中的日期开始。 我附上一张图片。 我已经问过,但没有给我解释。
目前我有以下代码:
if (Tipo == "1") //Tipos de Jornadas
{
DateTime FechaJornada = Convert.ToDateTime(iRow["Jornada_Ini"]);
DateTime FechaJ = FechaJornada.AddDays(8);
DateTime Descanso = FechaJ.AddDays(2);
DateTime Jornada2 = FechaJ.AddDays(2);
DateTime Fecha2 = Jornada2.AddDays(8);
DateTime Descanso2 = Fecha2.AddDays(2);
DateTime Jornada3 = Fecha2.AddDays(2);
DateTime Fecha3 = Jornada3.AddDays(8);
DateTime Descanso3 = Fecha3.AddDays(2);
if (e.Day.Date >= FechaJornada && e.Day.Date < FechaJ) //Días Laboraes
{
e.Cell.BackColor = System.Drawing.Color.DarkGreen;
}
if (e.Day.Date >= Jornada2 && e.Day.Date < Fecha2) //Días Laboraes
{
e.Cell.BackColor = System.Drawing.Color.DarkGreen;
}
if (e.Day.Date >= Jornada3 && e.Day.Date < Fecha3) //Días Laboraes
{
e.Cell.BackColor = System.Drawing.Color.DarkGreen;
}
if (e.Day.Date >= FechaJ && e.Day.Date < Descanso) //Días Descanso
{
e.Cell.BackColor = System.Drawing.Color.DarkOrange;
}
if (e.Day.Date >= Fecha2 && e.Day.Date < Descanso2) //Días Descanso
{
e.Cell.BackColor = System.Drawing.Color.DarkOrange;
}
if (e.Day.Date >= Fecha3 && e.Day.Date < Descanso3) //Días Descanso
{
e.Cell.BackColor = System.Drawing.Color.DarkOrange;
}
}
但是我想在循环中完成它,因为我必须根据您的旅程类型填写日历。目前我想要将日历绘制为8天绿色和2个橙色,直到月底,并以我在上个月停留的颜色开始新月。 你可以用一个循环来做到这一点,你可以支持我知道
答案 0 :(得分:0)
您可以使用DayRender
事件处理程序进行此类操作。虽然我的回答并没有完全解决你的问题,但它可以通过添加一点点逻辑给你一个继续如何做到这一点的提示,因为每个月的天数不相等,有些有30天,有些有28天/ 29或31,它需要一点思考如何实现这一点。
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
int[] arOfDaysInOrange = { 9, 10, 19, 20, 29, 30 };
if (arOfDaysInOrange.Contains(Convert.ToInt32(e.Day.DayNumberText)))
e.Cell.BackColor = System.Drawing.Color.DarkOrange;
else
e.Cell.BackColor = System.Drawing.Color.DarkGreen;
}
此代码剪辑的输出是: