能夠讓使用者點選日期
這部份jQuery UI也有套件可以做到
但calendar控制項最大的缺點是不能直接指定年為單位調整日曆
頂多只能一個月一個月切換
如果要跳到1911年不是按到手抽筋就是你滑鼠壞掉吧…
不過當然還有辦法辦到
在此做個紀錄
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
for (int i = year; i >= year - 100; i--)
{
DDLYear.Items.Add(new ListItem(i.ToString()));
}
for (int i = 1; i < 13; i++)
{
DDLMonth.Items.Add(new ListItem(i.ToString()));
}
}
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
Calendar1.TodaysDate = new DateTime(int.Parse(DDLYear.SelectedValue), int.Parse(DDLMonth.SelectedValue), 1);
//Calendar1.VisibleDate = new DateTime(int.Parse(DDLYear.SelectedValue), int.Parse(DDLMonth.SelectedValue), 1);
// Calendar1.SelectedDate = new DateTime(int.Parse(DDLYear.SelectedValue), int.Parse(DDLMonth.SelectedValue), 1);
}
protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{
Calendar1.TodaysDate = new DateTime(int.Parse(DDLYear.SelectedValue), int.Parse(DDLMonth.SelectedValue), 1);
//Calendar1.VisibleDate = new DateTime(int.Parse(DDLYear.SelectedValue), int.Parse(DDLMonth.SelectedValue), 1);
//Calendar1.SelectedDate = new DateTime(int.Parse(DDLYear.SelectedValue), int.Parse(DDLMonth.SelectedValue), 1);
}
Calendar1.TodaysDate跟Calendar1.VisibleDate最大的差別是
Calendar1.TodaysDate切換到該年月日曆後還是會有個目前選擇的日期
但Calendar1.VisibleDate不會有目前選擇的日期這是最大差別
Calendar1.SelectedDate嘗試是的結果是沒反應,這個有空再研究看看
最後這個範例應該是可以指定日的
只是需要用月份判斷日要產生幾天還有是否為閏年
流程大概是選擇完年後(月是固定的)
日的dropdownlist需要取得目前該月的天數
再由此天數去產生list的內容
不過這部份有遇到再寫吧…
參考文獻
MIS2000時光跳躍
Calendar.TodaysDate
Calendar.VisibleDate


沒有留言:
張貼留言