Tôi không chắc tại sao những người khác chưa hỏi câu hỏi này trước đây. Nhưng bạn có nhận thấy rằng asp: Lịch hiển thị thêm một tuần ở cuối?Cách xóa tuần cuối cùng của một lịch
Ví dụ: nếu VisibleMonth được đặt thành 2010-03-01 và FirstDayOfWeek đến Chủ nhật: Nó sẽ hiển thị 6 tuần.
- 28 Tháng Hai - 6 tháng 3
- 7 Tháng Ba - 13 Tháng 3
- 14 Tháng Ba - 20 Tháng Ba
- Tháng Ba 21 - tháng ba 27
- 28 tháng ba - 3 tháng tư
- ngày 04 tháng 4 đến tháng 10
Tôi đã tự hỏi tại sao Microsoft hiển thị Dòng cuối cùng hoàn toàn vào tháng Tư. Tôi đã cố gắng tìm kiếm mạng cho một tài sản nhưng nó dường như không tồn tại.
Giải pháp duy nhất mà tôi có thể nghĩ đến là ghi đè Pre_Render và kiểm tra tất cả các ngày riêng lẻ nếu chúng vẫn còn trong tuần của VisibleDate. Nhưng tất nhiên đó là một kiểm tra cực đoan kể từ khi mỗi rendering của điều khiển cho thấy nó.
Đây là công việc của tôi.
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
int dayOfWeek = Convert.ToInt16(e.Day.Date.DayOfWeek);
int compensate = dayOfWeek - Convert.ToInt16(DayOfWeek.Sunday);
DateTime WeekStart = e.Day.Date.AddDays(-1 * compensate);
DateTime WeekEnd = WeekStart.AddDays(6);
// If the start and end of the week does not have relevance to the current month
if (WeekStart.Month != Calendar1.VisibleDate.Month &&
WeekEnd .Month != Calendar1.VisibleDate.Month)
{
e.Cell.Text = "";
e.Cell.Height = 0;
e.Cell.Visible = false;
}
}
Cảm ơn bạn! đây là những gì tôi đang tìm kiếm vì đánh dấu lựa chọn tuần. Đã phải thêm (Nếu currDay = 0 Sau đó, currDay = 7) vào hàm HideExtraWeek để quản lý thứ hai là ngày đầu tiên của tuần. Có lẽ không phải là giải pháp sạch nhất nhưng làm việc cho tôi. – Michelh91