2017-03-23 5 views
0

緑、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; 
         } 
        } 

しかし、私は、私はあなたが持っているジャーニーの種類に応じてカレンダーを埋めるために持っているのでサイクルでそれをしたい:私は、次のコードを持っている瞬間

enter image description here

。現時点では、月末までにカレンダーを8日間ペイントし、前月に滞在した色で新しい月を開始したいと考えています。 サイクルでこれを行うことができます、あなたに私を知ってサポートすることができます

答えて

0

このような操作のためのDayRenderイベントハンドラを使用することができます。私の答えはあなたの問題に完全には対処していませんが、毎月の日数が等しくない、つまり30日間、28/29日間などの理由で少し論理を追加することで、あなたがこれを達成する方法を少し考えてみる必要があります。切り取らこのコードの

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; 
} 

出力がこれです:あなたの答え@M Adeelハリドため

Sample output

+0

おかげで、ここで私は残りの固定日が示されていることがわかり、そして私が欲しいのはということです彼らは私のデータベースにある日の日付に従って撮影された固定されていません8日間8日目に私はオレンジ色の2つをマークし、8緑と2オレンジ – Molitaa

関連する問題