文章分類/

Infragistics|UltraTimeline|查看教程

尚無瀏覽量
2023-09-10 更新

infragistics log

本教程將向您展示如何使用UltraTimelineView。

概述

UltraTimelineView是一個日程控件。通過設置時間的水平“時隙”來表示日期和時間。“所有者”垂直顯示。約會必須至少有一個所有者和時間範圍。如果您不設置所有者,則默認使用“無”。

下面的示例創建一個 UltraTimelineView 並添加所有者和時間表。

也適用樣式。

創建步驟

1. 創建一個新的 Windows 窗體應用程序。

2. 雙擊工具箱中的UltraTimelineView 將其添加到您的項目中。調整控件和表單的大小。

3. 雙擊工具箱中的 UltraCalendarInfo 控件,將其添加到窗體中。

控件出現在窗體下方的區域中。沒有視覺表示,因此運行應用程序時您不會看到它。默認名稱為“UltraCalendarInfo1”,但您可以更改該名稱。本示例使用默認名稱。

4. 保存項目。

5. 從菜單中選擇查看→代碼。將顯示 Form1.cs。

6. 創建InitializeCalendar() 方法。

將三個所有者添加到 UltraCalendarInfo。在 Form1() 方法中,調用 InitializeCalendar()。

public Form1()
{
    InitializeComponent();
    InitializeCalendar();
}

public void InitializeCalendar()
{
    // オーナーを追加する
    this.ultraCalendarInfo1.Owners.Add("山本");
    this.ultraCalendarInfo1.Owners.Add("本田");
    this.ultraCalendarInfo1.Owners.Add("小谷");
}

7. 將UltraCalendarInfo 設置為UltraTimelineView。

通過此配置,UltraTimelineView 從 UltraCalendarInfo 檢索信息。在“設計”視圖中選擇“UltraTimelineView”,然後在“屬性”窗口中將“CalendarInfo”屬性設置為“UltraCalendarInfo1”。如果“屬性”窗口不可見,請選擇“視圖”>“屬性窗口”。或者您可以在 Form1.cs 的 InitializeCalendar() 方法中添加以下代碼。

從屬性設置時

用代碼設置時

this.ultraTimeLineView1.CalendarInfo = ultraCalendarInfo1;

8. 保存並運行項目。

我可以看到山本先生,但看不到本田先生和小谷先生。向下滾動查看其他所有者。

要在不滾動的情況下查看所有所有者,請減小行高。降低行高會增加可見所有者的數量。要減小行高,請向上拖動所有者之間的線。

它看起來像這樣。

現在所有所有者都可見。顯示為“無”的所有者是“未分配的所有者”。該行顯示適用於每個所有者的活動。例如,在此行顯示假期或公司會議。如果您想隱藏“無”所有者,請使用以下代碼。

this.ultraCalendarInfo1.Owners.UnassignedOwner.Visible = false;

9. 引入時間間隔。

UltraTimelineView上方有一個“時間段”。表示預約時間。默認情況下,它分為 15 分鐘的“間隔”。如果您的應用程序顯示假期,您可以通過設置 PrimaryInterval 來更改間隔。您可以在設計視圖中設置 PrimaryInterval。單擊“屬性”窗口中 PrimaryInterval 屬性旁邊的省略號 (…)。

您可以通過選擇 PrimaryInterval 窗口上方的單位來設置屬性網格中顯示的單位。

例如,如果將 PrimaryInterval 設置為 1 天,則間隔將為每 1 天。這對於顯示假期、項目摘要等很有用。

在此示例中,我們將其設置為 1 天。在設計器中設置很容易。

如果要在代碼中設置 PrimaryInterval,請將以下代碼插入到 InitializeCalendar 方法中。參數定義間隔單位(第二個參數)及其數量(第一個參數)。此外,請注意,您需要在 Form1.cs 頁面上方添加命名空間“using Infragistics.Win.UltraWinSchedule;”。

DateInterval dayInterval = new DateInterval(1, DateIntervalUnits.Days); 
this.ultraTimeLineView1.PrimaryInterval = dayInterval;

10. 同樣,您可以設置AdditionalIntervals。

時間間隔根據 PrimaryInterval 顯示,但您可以根據 AnotherInterval 對間隔進行分組。添加另一行列標題。例如,如果 PrimaryInterval 設置為 1 天,您可以添加 1 週的 AnotherInterval。在此示例中添加 1 週的 ExtraInterval。您可以在屬性窗口中單擊“Omit AnotherIntervals”,並以與“PrimaryInterval”相同的方式進行設置。

當你運行它時,它會顯示如下。

11. 這裡介紹一下日程安排。

UltraTimelineView 通常使用數據綁定。有關詳細信息,請參閱聯機幫助中有關數據綁定的主題。在此示例中,我們將添加一個簡單的約會。

確保所有者被列為“無”。如果不可見,請註釋掉步驟 8 中的代碼(通過在代碼前添加“//”)。

使用以下代碼創建一個新約會。將其添加到 InitializeCalendar 方法中。請注意,您還需要在 Form1.cs 頁面上方添加命名空間“using Infragistics.Win.UltraWinSchedule;”。

// 新しい予定を作成する
 Appointment companyAnniversary = new Appointment(
   new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0),
   new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 0, 0, 0));

上面的代碼創建了一個名為“companyAnniversary”的事件。該約會定為今天全天。這樣,當您運行應用程序時,它將始終可見。

12. 設置約會主題並將其添加到UltraCalendarInfo 的約會列表中。

// 予定の件名を設定する companyAnniversary.Subject = "会社の記念日"; // 予定を 
UltraCalendarInfo に追加する ultraCalendarInfo1.Appointments.Add(companyAnniversary);

13. 保存並運行項目。

14. 要將事件設置為指定所有者,請將事件的 Owner 屬性設置為 UltraCalendarInfo 中定義的所有者。

例如,下面的代碼設置了 Yamamoto 先生的休息時間。

//山本さんの休み時間を設定する
Appointment vacation1 = new Appointment(
  new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 0, 0, 0),
  new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 6, 0, 0, 0));

// 予定の件名を設定する
vacation1.Subject = "休み時間";

// 予定を山本さんに設定する
vacation1.Owner = UltraCalendarInfo1.Owners["山本"];

// 予定を UltraCalendarInfo に追加する
ultraCalendarInfo1.Appointments.Add(vacation1);

15. 雙擊“設計”視圖工具箱中的“UltraCalendarLook”以設置其樣式。

16. 設置UltraCalendarLook 對象的ViewStyle 屬性。

可以在設計視圖中使用 UltraCalendarLook 智能標記進行設置。

請注意,如果要在代碼中配置它,則需要命名空間“using Infragistics.Win.UltraWinSchedule;”。

// スタイルを設定する ultraCalendarLook1.ViewStyle = ViewStyle.Office2007;

18. 保存並運行項目。

快速跳轉目錄

✦ 群昱 AccessSoft 你的全面軟體解決方案 ✦

身為全球眾多知名軟體在台灣合作夥伴,歡迎諮詢你需要的軟體服務!

Picture of 軟體專家
軟體專家

群昱作為全球知名軟體推薦合作夥伴,致力於提供更多軟體解決方案給你!

更多軟體新知

立即詢價

請留下完整資訊,以便我們提供精確的服務內容給你。

詢價資訊