このチュートリアルでは、UltraTimelineViewの使用方法を紹介します。

 

概要

UltraTimelineViewはスケジュール コントロールです。水平方向に時間の「タイム スロット」を設定して日付と時間を表します。垂直方向には「オーナー」が表示されます。予定は少なくとも1つのオーナーと時間範囲を指定する必要があります。オーナーを設定しない場合、「なし」がデフォルトとして使用されます。

以下の例では、UltraTimelineViewを作成し、オーナーと予定を追加します。加えてスタイルも適用します。

 

作成手順

 

1. 新しいWindowsフォーム アプリケーションを作成します。

 

2. ツールボックスでUltraTimelineViewをダブルクリックしてプロジェクトに追加します。コントロールとフォームのサイズを調節します。

 

3. ツールボックスでUltraCalendarInfoコントロールをダブルクリックしてフォームに追加します。

コントロールはフォームの下の領域に表示されます。視覚的な表現がないため、アプリケーションを実行するときには表示されません。デフォルトの名前は「UltraCalendarInfo1」ですが名前は変更できます。この例では、デフォルトの名前を使用します。

 

4. プロジェクトを保存します。

 

5. メニューで[表示]→[コード]を選択します。Form1.csが表示されます。

 

6. InitializeCalendar()メソッドを作成します。

UltraCalendarInfoに3人のオーナーを追加します。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.  TimeIntervalを紹介します。

UltraTimelineViewの上に「タイムスロット」があります。予定の時間を示します。デフォルトでは15分の「間隔」で分割されます。アプリケーションは休日を表示する場合、PrimaryIntervalを設定して間隔を変更できます。デザインビューでPrimaryIntervalを設定できます。プロパティウィンドウでPrimaryIntervalプロパティの隣りにある省略 (…) をクリックします。

PrimaryIntervalウィンドウの上の単位を選択し、プロパティグリッドで表示する単位を設定できます。

たとえば、PrimaryIntervalを1日に設定すると、間隔は1日間隔になります。休日やプロジェクトの概要などの表示に便利です。

この例では、1日に設定します。デザイナーで設定すると簡単です。

コードでPrimaryIntervalを設定したい場合、下のコードをInitializeCalendarメソッドに挿入します。引数は間隔の単位 (2つ目の引数) とその数 (1つ目の引数) を定義します。更に、「using Infragistics.Win.UltraWinSchedule;」の名前空間をForm1.csのページの上に追加する必要があることに注意してください。

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

 

10.  同じように、AdditionalIntervalsを設定できます。

時間間隔は PrimaryInterval に基づいて表示されますが、その間隔を AdditionalInterval によってグループ化できます。列ヘッダーのもう 1 つの行を追加します。たとえば、PrimaryInterval は 1 日に設定される場合、1 週間の AdditionalInterval を追加できます。この例で 1 週間の AdditionalInterval を追加します。プロパティ ウィンドウで AdditionalIntervals の省略をクリックして、PrimaryInterval と同じように設定できます。

実行すると、このように表示されます。

 

11.  ここでは予定を紹介します。

UltraTimelineViewは一般的にデータ バインディングを使用します。詳細については、オンライン ヘルプでデータバインディングについてのトピックをご覧してください。この例では簡単な予定を追加します。

オーナーが「なし」と表示されていることを確認してください。表示されていない場合、手順8のコードを (コードの前に「//」 を追加して) コメントアウトします。

下のコードで新しい予定を作成します。InitializeCalendarメソッドに追加します。更に「using Infragistics.Win.UltraWinSchedule;」の名前空間をForm1.csのページの上に追加する必要があることに注意してください。

// 新しい予定を作成する
 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のAppointmentsリストに追加します。
// 予定の件名を設定する
companyAnniversary.Subject = "会社の記念日";
// 予定を UltraCalendarInfo に追加する
ultraCalendarInfo1.Appointments.Add(companyAnniversary);

 

13.  プロジェクトを保存して実行します。

 

14.  予定を指定のオーナーに設定するために、予定のOwnerプロパティをUltraCalendarInfoで定義されたオーナーに設定します。

たとえば、下のコードは山本さんの休み時間を設定します。

//山本さんの休み時間を設定する
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.  プロジェクトを保存して実行します。

 

製品について

Ultimate UI for Windows Forms