public static void DrawDailyViewCell(RowCellCustomDrawEventArgs e, int index, DailyViewStyle view, StoreDay storeday, EmployeeDayView dayView) { Rectangle cellBound = Rectangle.Inflate(e.Bounds, 1, 1); e.Cache.FillRectangle(Color.White, cellBound); Rectangle rect; int squareWidth = cellBound.Width; Color squareColor = Color.White; //int index = infoColumn.FromTime / 15; int squareCount = 1; if (view == DailyViewStyle.View30) { cellBound = Rectangle.Inflate(cellBound, -2, 0); squareWidth = ((cellBound.Width - 1) / 2); squareCount = 2; } else if (view == DailyViewStyle.View60) { cellBound = Rectangle.Inflate(cellBound, -2, 0); squareWidth = ((cellBound.Width - 3) / 4); squareCount = 4; } int positionX = cellBound.X; int currentTime = index * 15; Color backColor = Color.White; for (int i = 0; i < squareCount; i++) { currentTime = (index + i) * 15; if (!storeday.IsOpeningTime((short)currentTime)) { backColor = Color.LightGray; } else backColor = Color.White; squareColor = dayView.GetColor(index + i); rect = new Rectangle(positionX, cellBound.Y, squareWidth, cellBound.Height); if (squareColor == Color.White) squareColor = backColor; e.Cache.FillRectangle(squareColor, rect); positionX += squareWidth + 1; } e.Handled = true; }