サーバー側のコードで、現在のページ要求に対する予定を描画するためにデータ バインディングの後で、新しい アクティビティ を WebScheduleInfo の アクティビティ コレクションに追加することができます。目的はこのアクティビティを描画するだけであるため、Page クラスの PreRender イベントはアクティビティを配置するのに最適な場所です。
注: Activities コレクションは、データストアの冗長性のために、デザインによって ViewState では決して保持されません(ViewState が有効な時でも)。各ページ要求で、WebScheduleInfo はそのデータストアに再度バインディングします。プログラムでこのアクティビティをデータストアに追加したい場合には、 「アクティビティをデータベースに追加する方法」を参照してください。
追加したアクティビティが表示されない場合には、アクティビティを追加する前に、WebScheduleInfo で DataBind メソッドを呼び出したことを確認します。データ バインディングは、データストアからの現在のスケジュール情報を入れるために、Activities コレクションをクリアします。
予定 を追加するには、データ バインディングの後でこの新たに初期化されたアクティビティを使用して、Activities コレクションで Add メソッドを呼び出す必要があります。
Imports Infragistics.WebUI.Shared
Imports Infragistics.WebUI.WebSchedule
...
Private Sub Page_PreRender(ByVal sender As Object, _
ByVal e As EventArgs) Handles MyBase.PreRender
'アクティビティをコレクションに追加する前に手動でデータ バインドします。
Me.WebScheduleInfo1.DataBind()
'ヘルパー関数でアクティビティを作成および初期化します。
Dim appt As Appointment = Me.CreateAppointment()
'アクティビティを WebScheduleInfo1 の Activities コレクションに追加します。
Me.WebScheduleInfo1.Activities.Add(appt)
End Sub
using Infragistics.WebUI.Shared;
using Infragistics.WebUI.WebSchedule;
...
private void Page_PreRender(object sender, EventArgs e)
{
// アクティビティをコレクションに追加する前に手動でデータ バインドします。
this.WebScheduleInfo1.DataBind();
// ヘルパー関数でアクティビティを作成および初期化します。
Appointment appt = this.CreateAppointment();
// アクティビティを WebScheduleInfo1 の Activities コレクションに追加します。
this.WebScheduleInfo1.Activities.Add(appt);
}