日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
C#日歷控件的三個編程步驟

C#日歷控件編程過程中,需要在把會議添加到數據庫中之前,先修改一下日歷的顯示。最好用另一種顏色顯示登記之前的日期,以防該日期被選中。這要求修改我們在日歷中設置日期的方式,以及日期單元格的顯示方式。

創(chuàng)新互聯技術團隊10多年來致力于為客戶提供網站制作、網站建設高端網站設計、成都全網營銷、搜索引擎SEO優(yōu)化等服務。經過多年發(fā)展,公司擁有經驗豐富的技術團隊,先后服務、推廣了成百上千網站,包括各類中小企業(yè)、企事單位、高校等機構單位。

首先是日期選擇。有3個地方需要查看會議登記的日期來電彈屏,并修改相應選擇:一是在Page_ Load()中設置初始日期時,第二是在用戶試圖從日歷中選擇日期時,第三情況是登記一個會議,并設置一個新的日期,以防用戶在選擇新日期前,在同一天連續(xù)登記兩個會議。這些都是很常見的情況,也可以創(chuàng)建一個私有方法來執(zhí)行這個計算。這個方法應接受一個試用日期作為參數,并返回要使用的日期,該日期與試用日期相同,也可以是試用日期之后的某個日期。  把這個getFreeDate()方法添加到后臺編碼文件中:

 
 
 
 
  1. private System.DateTime getFreeDate(System.DateTime trialDate) 
  2. if (eventTable.Rows.Count >0) 
  3. { System.DateTime testDate; bool trialDateOK = falsewhile (!trialDateOK) 
  4. { beach wedding dresses  trialDateOK = trueforeach (System.Data.DataRow testRow in eventTable.Rows) 
  5. { testDate = (System.DateTime)testRow["EventDate"]; 
  6. if (testDate.Date == trialDate.Date) 
  7. { trialDateOK = false; trialDate = trialDate.AddDays(1); 
  8. } } } } 
  9. return trialDate; 

這段簡單的代碼使用在Page_Load()中填充的對象eventTable提取會議數據。首先看看一般情況:沒有登記任何會議,此時返回該試用日期,以確認該日期英國留學,接著對Event表中的日期進行迭代,把該日期與試用日期比較。如果找到一個匹配,就給試用日期加一天,執(zhí)行另一次搜索。  從DataTable中提取數據是相當簡單的:testDate = (System.DateTime)testRow["EventDate"];  把列數據轉換為Sytem.DateTime,這樣會更精確。  使用getFreeDate()的第一個地方是在Page_Load()后面。這意味只需對設置SelectedDate屬性的代碼稍加修改:

 
 
 
 
  1. if (!this.IsPostBack) 
  2. { System.DateTime trialDate = System.DateTime.Now; calendar.SelectedDate = getFreeDate(trialDate); this.DataBind();
  3.  }  

接著需要響應C#日歷控件上的日期選擇。為此,需要先帶餡面條機為日歷的SelectionChanged事件添加一個事件處理程序,強制檢查現有會議的日期。雙擊設計器中的日歷,添加如下代碼:

 
 
 
 
  1. private void calendar_SelectionChanged(object sender, System.EventArgs e) 
  2. { System.DateTime trialDate = calendar.SelectedDate; calendar.SelectedDate = getFreeDate(trialDate); 
  3. }  

這段代碼與Page_Load()相同。  執(zhí)行這種檢查的第三個地方是響應登記按鈕的單擊。后面會解釋它,因為后面進行了許多改變。  接著把日歷的日期單元格變?yōu)榱硪环N顏色,以表示現存的會議。為此,需要給日期對象的DayRender事件添加一個事件錄音系統處理程序。每次顯示一個日期時,都會觸發(fā)這個事件,并允許通過在處理程序中接收到的DayRenderEventArgs參數的Cell 和 Date屬性,訪問要顯示的單元格對象和這個單元格的日期。我們需要比較要顯示的單元格中的日期和eventTable對象中的日期,如果匹配,就可以使用Cell.BackColor屬性為單元格著色:

 
 
 
 
  1.  protected void calendar_DayRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e) 
  2. if (eventTable.Rows.Count >0) 
  3. { System.DateTime testDate; foreach (System.Data.DataRow testRow in eventTable.Rows) 
  4. { prom dresses  testDate = (System.DateTime)testRow["EventDate"]; if (testDate.Date == e.Day.Date) { e.Cell.BackColor = Color.Red; 
  5. } }
  6. } }  

這里使用紅色,得到屏幕圖25-6。三月的15、27、28、29和30日都有會議,所以用戶選擇了17日。


分享名稱:C#日歷控件的三個編程步驟
路徑分享:http://www.dlmjj.cn/article/dpdphsj.html