2013-05-13 214 views
0

有關使用DateTime方法在Telerik日曆內設置計劃的新手問題。我想使用Telerik控制日曆設置音樂樂隊巡迴賽時間表的時間表。設置日期時間約會計劃

我似乎無法得到預期的結果。以下是SampleAppointmentSource CS文件中的代碼。我認爲通過設置DateTime.Parse(「5/19/2013」​​),然後在所有約會中使用AddDays(1)或AddDays(20)時,應用程序將遵循DateTime.Parse(「5/19/2013「)模式,但事實並非如此。約會總是使用當前的日期和時間(Now)。當我添加日期時,約會不會添加到解析日期(「2013/5/19」),它們將被添加到當前日期時間。就像約會總是參考當前的系統日期一樣。

我希望,這不是混淆....

什麼我需要使用來獲得預期的效果?

是因爲DateTime.Now.AddDays(1)行嗎?它不應該是DateTime.Now?

{ 
public class SampleAppointmentSource : AppointmentSource 
{ 
    public SampleAppointmentSource() 
    { 
     DateTime date = new DateTime(); 
     date = DateTime.Parse("5/19/2013"); 
    } 

    public override void FetchData(DateTime startDate, DateTime endDate) 
    { 
     this.AllAppointments.Clear(); 

     this.AllAppointments.Add(new SampleAppointment() 
     { 
      StartDate = DateTime.Now.AddDays(1), 
      EndDate = DateTime.Now.AddDays(1), 
      Subject = "Jackson W/Warren Hayes", 
      AdditionalInfo = "Fain Feild", 
      Location = "LoserVille,Kentucky", 
     }); 
+0

不會解決您遇到的問題,但更多的是語義問題:您有一個名爲'FetchData'的方法,它不返回任何內容,而是用於設置數據。這對我來說沒有意義。 – Adrian 2013-05-13 05:21:09

+0

我認爲,根據Telerik Controls文檔,使用FetchData只是爲了讓日程表指向FetchData(DateTime)下面列出的約會。 雖然這可能是我的問題。 也許我不太瞭解DateTIme。我希望約會的代碼工作的方式是隻顯示旅程時間表。但是無論我添加哪個AddDays()號碼,它總是將當前時間添加到當前時間。即使在不同的日子啓動應用程序。它總是添加到當前日期。因此,約會動作,以便它反映(1)日加入當天。 – 2013-05-13 05:27:50

+0

啊,我的道歉。如果Telerik需要,那麼它的奇怪的方法名稱,而不是你的:) – Adrian 2013-05-13 05:30:27

回答

1

充實我的意見,以您的問題。您創建一個DateTime對象,稱爲date並從不使用它。 DateTime.Now將始終返回包含當前DateTime的對象。您需要提供您的date DateTime目標模塊級別範圍,以便您可以在FetchData方法中訪問它。看看這樣的事情是否適合你。

public class SampleAppointmentSource : AppointmentSource 
{ 
    DateTime date; 
    public SampleAppointmentSource() 
    { 
     date = DateTime.Parse("5/19/2013"); 
    } 

    public override void FetchData(DateTime startDate, DateTime endDate) 
    { 
     this.AllAppointments.Clear(); 

     this.AllAppointments.Add(new SampleAppointment() 
     { 
      StartDate = date.AddDays(1), 
      EndDate = date.AddDays(1), 
      Subject = "Jackson W/Warren Hayes", 
      AdditionalInfo = "Fain Feild", 
      Location = "LoserVille,Kentucky", 
     }); 
    } 
} 
+0

在嘗試調整標記後,約會根本不顯示。公共類下 - 日期時間日期; - 日期下有綠線。當我將鼠標懸停在上面時,我會收到來自VS = SampleAppointmentSource.date的消息,永遠不會分配給它,並且將始終具有其默認值。 它表示爲警告而不是錯誤。幾乎就像它被忽略。將'Now'添加到StartDate = DateTime.AddDays(1),也不會改變任何內容。 我真的很感激你的幫助。 – 2013-05-13 21:49:46

+0

對不起,在註釋掉DateTime date = new DateTime()之後; 警告消失,但約會仍然被忽略。 – 2013-05-13 21:52:27