Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule
始める前に
WinTimelineView™ コントロールは、水平タイムラインに沿って予定を表示します。 これには予定のドラッグおよびリサイズのサポートと、AppoinmentsDataBinding および OwnersDataBinding オブジェクトによる予定およびオーナーのデータ バインディングのサポートが含まれます。 これらのオブジェクトの詳細については、「予定およびオーナーのデータ バインドのサポート」トピックを参照してください。
達成すること
このトピックでは、WinTimelineView™ で異なるオーナーの予定を表示することを学習します。
以下の手順を実行します
UltraTimeLineView コントロール、UltraCalendarInfo および UltraCalendarLook コンポーネントをフォームにドラッグ アンド ドロップします。
コードの記述を開始する前にコード ビハインドに using/imports のディレクティブを配置します。そうすれば、メンバーは完全に記述された名前を常に入力する必要がなくなります。
Visual Basic の場合:
Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule
C# の場合:
using Infragistics.Win; using Infragistics.Win.UltraWinSchedule;
フォームの Load イベントに以下のコードを記述します。
Visual Basic の場合:
' 予定およびオーナーのデータ バインディングに必要なサンプル データを取得します Dim ds As DataSet = Me.GetSampleData() ' 未指定のオーナーを非表示にします Me.ultraCalendarInfo1.Owners.UnassignedOwner.Visible = False ' ultraCalendarInfo を Appointments データ テーブルにバインドします Me.ultraCalendarInfo1.DataBindingsForAppointments.DataSource = ds.Tables("Appointments") ' ultraCalendarInfo を Owners データ テーブルにバインドします Me.ultraCalendarInfo1.DataBindingsForOwners.DataSource = ds.Tables("Owners") ' Appointments データ バインディング プロパティを UltraCalendarInfo に設定します Me.ultraCalendarInfo1.DataBindingsForAppointments.StartDateTimeMember = "StartTime" Me.ultraCalendarInfo1.DataBindingsForAppointments.EndDateTimeMember = "EndTime" Me.ultraCalendarInfo1.DataBindingsForAppointments.SubjectMember = "Subject" Me.ultraCalendarInfo1.DataBindingsForAppointments.OwnerKeyMember = "OwnerKey" ' Owners データ バインディング プロパティを UltraCalendarInfo に設定します Me.ultraCalendarInfo1.DataBindingsForOwners.KeyMember = "OwnerKey" Me.ultraCalendarInfo1.DataBindingsForOwners.NameMember = "Name" ' UltraCalendarInfo を TimeLineView コントロールに指定します Me.ultraTimelineView1.CalendarInfo = Me.ultraCalendarInfo1 ' UltraCalendarLook ViewStyle を設定します Me.ultraCalendarLook1.ViewStyle = Infragistics.Win.UltraWinSchedule.ViewStyle.Office2007 ' UltraCalendarLook を TimeLineView コントロールに指定します Me.ultraTimelineView1.CalendarLook = Me.ultraCalendarLook1
C# の場合:
// 予定およびオーナーのデータ バインディングに必要なサンプル データを取得します DataSet ds = this.GetSampleData(); // 未指定のオーナーを非表示にします this.ultraCalendarInfo1.Owners.UnassignedOwner.Visible = false; // ultraCalendarInfo を Appointments データ テーブルにバインドします this.ultraCalendarInfo1.DataBindingsForAppointments.DataSource=ds.Tables["Appointments"]; // ultraCalendarInfo を Owners データ テーブルにバインドします this.ultraCalendarInfo1.DataBindingsForOwners.DataSource = ds.Tables["Owners"]; // Appointments データ バインディング プロパティを UltraCalendarInfo に設定します this.ultraCalendarInfo1.DataBindingsForAppointments.StartDateTimeMember = "StartTime"; this.ultraCalendarInfo1.DataBindingsForAppointments.EndDateTimeMember = "EndTime"; this.ultraCalendarInfo1.DataBindingsForAppointments.SubjectMember = "Subject"; this.ultraCalendarInfo1.DataBindingsForAppointments.OwnerKeyMember = "OwnerKey"; // Owners データ バインディング プロパティを UltraCalendarInfo に設定します this.ultraCalendarInfo1.DataBindingsForOwners.KeyMember = "OwnerKey"; this.ultraCalendarInfo1.DataBindingsForOwners.NameMember = "Name"; // UltraCalendarInfo を TimeLineView コントロールに指定します this.ultraTimelineView1.CalendarInfo = this.ultraCalendarInfo1; // UltraCalendarLook ViewStyle を設定します this.ultraCalendarLook1.ViewStyle = Infragistics.Win.UltraWinSchedule.ViewStyle.Office2007; // UltraCalendarLook を TimeLineView コントロールに指定します this.ultraTimelineView1.CalendarLook = this.ultraCalendarLook1;
サンプル データと共に Appointments および Owners DataTable オブジェクトを作成する以下のメソッドを記述します。
Visual Basic の場合:
Private Function GetSampleData() As DataSet Dim theDataSet As New DataSet() ' Appointments DataTable を作成します Dim theAppointments As DataTable = theDataSet.Tables.Add("Appointments") theAppointments.Columns.Add("AppointmentID", GetType(Integer)) theAppointments.Columns.Add("StartTime", GetType(DateTime)) theAppointments.Columns.Add("EndTime", GetType(DateTime)) theAppointments.Columns.Add("Subject", GetType(String)) theAppointments.Columns.Add("OwnerKey", GetType(String)) ' Appointments サンプル データを追加します theAppointments.Rows.Add(New Object() {"1", "7/28/2009 9:00:00 AM", "7/28/2009 10:00:00 AM", "Sprint Review", "Charlie"}) theAppointments.Rows.Add(New Object() {"1", "7/28/2009 8:00:00 AM", "7/28/2009 08:30:00 AM", "Scrum Meet", "Jamie"}) theAppointments.Rows.Add(New Object() {"1", "7/28/2009 9:00:00 AM", "7/28/2009 09:30:00 AM", "Status Meeting", "Lukas"}) theAppointments.Rows.Add(New Object() {"1", "7/28/2009 8:45:00 AM", "7/28/2009 09:00:00 AM", "Feature Review", "Lopez"}) ' Owners DataTable を作成します Dim theOwners As DataTable = theDataSet.Tables.Add("Owners") theOwners.Columns.Add("OwnerID", GetType(Integer)) theOwners.Columns.Add("Name", GetType(String)) theOwners.Columns.Add("OwnerKey", GetType(String)) ' Owners サンプル データを追加します theOwners.Rows.Add(New Object() {"1", "Maria Charlie", "Charlie"}) theOwners.Rows.Add(New Object() {"2", "John Jamie", "Jamie"}) theOwners.Rows.Add(New Object() {"3", "Matthew Lukas", "Lukas"}) theOwners.Rows.Add(New Object() {"4", "Leah Lopez", "Lopez"}) Return theDataSet End Function
C# の場合:
private DataSet GetSampleData() { DataSet theDataSet = new DataSet(); // Appointments DataTable を作成します DataTable theAppointments = theDataSet.Tables.Add("Appointments"); theAppointments.Columns.Add("AppointmentID", typeof(int)); theAppointments.Columns.Add("StartTime", typeof(DateTime)); theAppointments.Columns.Add("EndTime", typeof(DateTime)); theAppointments.Columns.Add("Subject", typeof(string)); theAppointments.Columns.Add("OwnerKey", typeof(string)); // Appointments サンプル データを追加します theAppointments.Rows.Add(new object[] { "1", "7/28/2009 9:00:00 AM", "7/28/2009 10:00:00 AM", "Sprint Review", "Charlie" }); theAppointments.Rows.Add(new object[] { "1", "7/28/2009 8:00:00 AM", "7/28/2009 08:30:00 AM", "Scrum Meet", "Jamie" }); theAppointments.Rows.Add(new object[] { "1", "7/28/2009 9:00:00 AM", "7/28/2009 09:30:00 AM", "Status Meeting", "Lukas" }); theAppointments.Rows.Add(new object[] { "1", "7/28/2009 8:45:00 AM", "7/28/2009 09:00:00 AM", "Feature Review", "Lopez" }); // Owners DataTable を作成します DataTable theOwners = theDataSet.Tables.Add("Owners"); theOwners.Columns.Add("OwnerID", typeof(int)); theOwners.Columns.Add("Name", typeof(string)); theOwners.Columns.Add("OwnerKey", typeof(string)); // Owners サンプル データを追加します theOwners.Rows.Add(new object[] { "1", "Maria Charlie", "Charlie" }); theOwners.Rows.Add(new object[] { "2", "John Jamie", "Jamie" }); theOwners.Rows.Add(new object[] { "3", "Matthew Lukas", "Lukas" }); theOwners.Rows.Add(new object[] { "4", "Leah Lopez", "Lopez" }); return theDataSet; }
アプリケーションを保存して実行します。