मुझे यकीन नहीं है कि अन्य लोगों ने इससे पहले क्यों नहीं पूछा है। लेकिन क्या आपने देखा है कि एएसपी: कैलेंडर अंत में एक अतिरिक्त सप्ताह दिखाता है?कैलेंडर के पिछले सप्ताह को कैसे हटाएं
उदाहरण के लिए यदि VisibleMonth 2010-03-01 और FirstDayOfWeek को रविवार को सेट किया गया है: यह 6 सप्ताह दिखाएगा।
- 28 फ़र, 6 मार्च तक
- मार्च 7 से 13 मार्च
- मार्च 14 4 अप्रैल तक 20 मार्च तक
- 21 मार्च 27 मार्च 28 मार्च को
- 3 अप्रैल को
- अप्रैल तक 10
मैं सोच रहा था कि क्यों माइक्रोसॉफ्ट आखिरी पंक्ति दिखाता है जो पूरी तरह से अप्रैल में है। मैंने संपत्ति के लिए नेट खोजने की कोशिश की लेकिन यह मौजूदा प्रतीत नहीं होता है।
एकमात्र समाधान जिसे मैं सोच सकता हूं वह प्री_रेंडर को ओवरराइड करना है और यदि वे अभी भी VisibleDate के सप्ताह के भीतर हैं तो सभी व्यक्तिगत तारीखों की जांच करें। लेकिन निश्चित रूप से यह एक चरम जांच है क्योंकि नियंत्रण के प्रत्येक प्रतिपादन से यह पता चलता है।
यहां मेरा काम है।
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;
}
}
धन्यवाद! यह वही है जो मैं सप्ताह चयन मार्कअप के कारण खोज रहा था। सोमवार के पहले दिन होने के लिए सोमवार को प्रबंधित करने के लिए HideExtraWeek फ़ंक्शन को जोड़ने के लिए (अगर currDay = 0 फिर currDay = 7) जोड़ना था। शायद सबसे साफ समाधान नहीं बल्कि मेरे लिए काम किया। – Michelh91