バージョン

WebScheduleGenericDataSource を使用して Access データ ソースにバインド

始める前に

WebScheduleGenericDataProvider™ コンポーネントによって、ユーザーが選択したカスタム データ ソースにバインドすることができます。WebScheduleInfo コンポーネントは、WebSchedule™ データ エンティティ データ ソースを構成するために以下のプロパティをユーザーに提供します。

さらに、WebScheduleGenericDataProvider コンポーネントは、WebScheduleInfo の対応するオブジェクトに割り当てるデータ バインド プロパティを設定するためにユーザーに AppointmentBindingResourceBinding、および VarianceBinding オブジェクトを提供します。これらのプロパティによって、バインドするためのデータ フィールドなどを指定できます。データ テーブルの列またはデータ オブジェクトのプロパティの名前が、WebScheduleGenericDataProvider によって期待される名前と一致する場合、データ バインドは自動的に行われ、データ フィールドを明示的に定義する必要はありません。これらの名前のリストについては、 「WebSchedule の汎用データ プロバイダーのデータ モデル」を参照してください。

データ ソース コントロールにバインドする場合、データベースを更新するために create、update、および delete ステートメントを指定する必要があります。

WebScheduleGenericDataProvider についての詳細は、 「WebScheduleGenericDataProvider について」を参照してください。

このチュートリアルは、WebScheduleSampleData.mdb と呼ばれるサンプル データベースを使用します。このデータ フィールドは以下のとおりです。

WebSchedule Binding to Access Data Source using WebGenericDataSource 02.png
WebSchedule Binding to Access Data Source using WebGenericDataSource 03.png

達成すること

Access Data Source でアクティビティ、リソース、およびバリアンス データにバインドし、それらを WebMonthView™ コントロールで表示する方法を学習します。

次の手順を実行します

  1. ASP.NET Web サイトを作成します。

  2. Microsoft® Visual Studio™ ツールボックスからページに WebScheduleInfo コンポーネントをドラッグします。

  3. WebMonthView コントロールをページにドラッグします。

  4. WebScheduleGenericDataProvider コンポーネントをページにドラッグします。

  5. 3 つの AccessDataSource コンポーネントをページにドラッグします。

  6. データ ソース ActivityDataSource、ResourceDataSource、および VarianceDataSource に名前を付けます。

  7. ActivityDataSource をデータベースに接続し、Create、Update、および Delete コマンドを設定します。

:Delete ステートメントは、アクティビティ ID ではなく VarianceID フィールドを使用するために必要です。

HTML の場合:

<asp:AccessDataSource ID="activityDataSource" runat="server" DataFile="~/App_Data/WebScheduleSampleData.mdb"
    DeleteCommand="DELETE FROM [Activities] WHERE [VarianceID] = ?" InsertCommand="INSERT INTO [Activities] ([StartDateTimeUtc], [Duration], [Subject], [AllDayEvent], [Location], [Status], [EnableReminder], [ReminderInterval], [ShowTimeAs], [Importance], [RecurrenceID], [OriginalStartDateTimeUtc], [RecurrencePattern], [ResourceID], [VarianceID], [ActivityDescription]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
    SelectCommand="SELECT * FROM [Activities]" UpdateCommand="UPDATE [Activities] SET [StartDateTimeUtc] = ?, [Duration] = ?, [Subject] = ?, [AllDayEvent] = ?, [Location] = ?, [Status] = ?, [EnableReminder] = ?, [ReminderInterval] = ?, [ShowTimeAs] = ?, [Importance] = ?, [RecurrenceID] = ?, [OriginalStartDateTimeUtc] = ?, [RecurrencePattern] = ?, [ResourceID] = ?, [VarianceID] = ?, [ActivityDescription] = ? WHERE [ID] = ?">
    <DeleteParameters>
        <asp:Parameter Name="VarianceID" Type="String" />
    </DeleteParameters>
    <UpdateParameters>
        <asp:Parameter Name="StartDateTimeUtc" Type="DateTime" />
        <asp:Parameter Name="Duration" Type="Int32" />
        <asp:Parameter Name="Subject" Type="String" />
        <asp:Parameter Name="AllDayEvent" Type="Boolean" />
        <asp:Parameter Name="Location" Type="String" />
        <asp:Parameter Name="Status" Type="Int32" />
        <asp:Parameter Name="EnableReminder" Type="Boolean" />
        <asp:Parameter Name="ReminderInterval" Type="Int32" />
        <asp:Parameter Name="ShowTimeAs" Type="Int32" />
        <asp:Parameter Name="Importance" Type="Int32" />
        <asp:Parameter Name="RecurrenceID" Type="Int32" />
        <asp:Parameter Name="OriginalStartDateTimeUtc" Type="DateTime" />
        <asp:Parameter Name="RecurrencePattern" Type="String" />
        <asp:Parameter Name="ResourceID" Type="Int32" />
        <asp:Parameter Name="VarianceID" Type="String" />
        <asp:Parameter Name="ActivityDescription" Type="String" />
        <asp:Parameter Name="ID" Type="Int32" />
    </UpdateParameters>
    <InsertParameters>
        <asp:Parameter Name="StartDateTimeUtc" Type="DateTime" />
        <asp:Parameter Name="Duration" Type="Int32" />
        <asp:Parameter Name="Subject" Type="String" />
        <asp:Parameter Name="AllDayEvent" Type="Boolean" />
        <asp:Parameter Name="Location" Type="String" />
        <asp:Parameter Name="Status" Type="Int32" />
        <asp:Parameter Name="EnableReminder" Type="Boolean" />
        <asp:Parameter Name="ReminderInterval" Type="Int32" />
        <asp:Parameter Name="ShowTimeAs" Type="Int32" />
        <asp:Parameter Name="Importance" Type="Int32" />
        <asp:Parameter Name="RecurrenceID" Type="Int32" />
        <asp:Parameter Name="OriginalStartDateTimeUtc" Type="DateTime" />
        <asp:Parameter Name="RecurrencePattern" Type="String" />
        <asp:Parameter Name="ResourceID" Type="Int32" />
        <asp:Parameter Name="VarianceID" Type="String" />
        <asp:Parameter Name="ActivityDescription" Type="String" />
    </InsertParameters>
</asp:AccessDataSource>
  1. ResourceDataSource をデータベースに接続し、Select コマンドを設定します。

HTML の場合:

<asp:AccessDataSource ID="resourceDataSource" runat="server" DataFile="~/App_Data/WebScheduleSampleData.mdb"
	SelectCommand="SELECT * FROM [Resources]">
</asp:AccessDataSource>
  1. VarianceDataSource をデータベースに接続し、Create、Update、および Delete コマンドを設定します。バリアンス データ ソースは、アクティビティとして同じデータ テーブルを使用することに注意してください。

HTML の場合:

<asp:AccessDataSource ID="varianceDataSource" runat="server" DataFile="~/App_Data/WebScheduleSampleData.mdb"
    DeleteCommand="DELETE FROM [Activities] WHERE ([OriginalStartDateTimeUtc] IS NOT NULL) AND [VarianceID] = ?"
    InsertCommand="INSERT INTO [Activities] ([StartDateTimeUtc], [Duration], [Subject], [AllDayEvent], [Location], [Status], [EnableReminder], [ReminderInterval], [ShowTimeAs], [Importance], [RecurrenceID], [OriginalStartDateTimeUtc], [RecurrencePattern], [ResourceID], [VarianceID], [ActivityDescription]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
    SelectCommand="SELECT * FROM [Activities]" UpdateCommand="UPDATE [Activities] SET [Status] = ? WHERE [ID] = ?">
    <DeleteParameters>
        <asp:Parameter Name="VarianceID" Type="String" />
    </DeleteParameters>
    <UpdateParameters>
        <asp:Parameter Name="Status" Type="Int32" />
        <asp:Parameter Name="ID" Type="Int32" />
    </UpdateParameters>
    <InsertParameters>
        <asp:Parameter Name="StartDateTimeUtc" Type="DateTime" />
        <asp:Parameter Name="Duration" Type="Int32" />
        <asp:Parameter Name="Subject" Type="String" />
        <asp:Parameter Name="AllDayEvent" Type="Boolean" />
        <asp:Parameter Name="Location" Type="String" />
        <asp:Parameter Name="Status" Type="Int32" />
        <asp:Parameter Name="EnableReminder" Type="Boolean" />
        <asp:Parameter Name="ReminderInterval" Type="Int32" />
        <asp:Parameter Name="ShowTimeAs" Type="Int32" />
        <asp:Parameter Name="Importance" Type="Int32" />
        <asp:Parameter Name="RecurrenceID" Type="Int32" />
        <asp:Parameter Name="OriginalStartDateTimeUtc" Type="DateTime" />
        <asp:Parameter Name="RecurrencePattern" Type="String" />
        <asp:Parameter Name="ResourceID" Type="Int32" />
        <asp:Parameter Name="VarianceID" Type="String" />
        <asp:Parameter Name="ActivityDescription" Type="String" />
    </InsertParameters>
</asp:AccessDataSource>
  1. スマート コールバック、繰り返しアクティビティ、Multi Resource View を有効にし、その ID を WebScheduleInfo の "WebScheduleInfo1" に設定します。

HTML の場合:

<igsch:WebScheduleInfo ID="wsInfo" runat="server" EnableRecurringActivities="True" EnableSmartCallbacks="true"
    EnableMultiResourceView="True" EnableReminders=">
</igsch:WebScheduleInfo>
  1. WebMonthView の WebScheduleInfoID プロパティを "WebScheduleInfo1" に設定します。

HTML の場合:

<igsch:WebMonthView ID="WebMonthView1" WebScheduleInfoID="wsInfo" runat="server">
</igsch:WebMonthView>
  1. WebScheduleInfo コンポーネントと関連づけるために WebScheduleGenericDataProvider の WebScheduleInfoID プロパティを "WebScheduleInfo1" に設定し、アクティビティ、リソース、およびバリアンス データ ソース ID を設定します。

HTML の場合:

<ig_scheduledata:WebScheduleGenericDataProvider runat="server" ID="WebScheduleGenericProvider1"
    WebScheduleInfoID="wsInfo" ActivityDataSourceID="activityDataSource" ResourceDataSourceID="resourceDataSource"
    VarianceDataSourceID="varianceDataSource">
	<%--行うこと:データ バインド オプションを設定します --%>
</ig_scheduledata:WebScheduleGenericDataProvider>
  1. 予定、リソース、およびバリアンスのデータ バインド オプションを設定します。

    1. AppointmentBinding、ResourceBinding、および VarianceBinding オブジェクトを作成します。

    2. それぞれの DataKeyMember プロパティを設定します。DataKeyMember プロパティは、データ エンティティのプライマリ キー フィールドです。

    3. 予定データをリソース データに関係づけるフィールドを定義するために、AppointmentBinding および VarianceBinding オブジェクトの ResourceKeyMember プロパティを設定します。

    4. バリアンス ID メンバーを定義するために、AppointmentBinding および VarianceBinding オブジェクトの VarianceKeyMember プロパティを設定します。

    5. このパターンを定義するフィールドに VarianceBinding オブジェクトの RecurrencePatternMember プロパティを設定します。

HTML の場合:

<AppointmentBinding DataKeyMember="ID" ResourceKeyMember="ResourceID" VarianceKeyMember="VarianceID"
RecurrencePatternMember="RecurrencePattern" />
<ResourceBinding DataKeyMember="ID" />
<VarianceBinding DataKeyMember="ID" ResourceKeyMember="ResourceID" VarianceKeyMember="VarianceID"
RecurrencePatternMember="RecurrencePattern" />
  1. アプリケーションを実行します。WebMonthview は、ユーザーが編集および更新することもできるデータベースのデータを表示します。

WebSchedule Binding to Access Data Source using WebGenericDataSource 01.png