BaseDataBoundControl.OnDataBound(EventArgs) メソッド

定義

DataBound イベントを発生させます。Raises the DataBound event.

protected:
 virtual void OnDataBound(EventArgs ^ e);
protected virtual void OnDataBound (EventArgs e);
abstract member OnDataBound : EventArgs -> unit
override this.OnDataBound : EventArgs -> unit
Protected Overridable Sub OnDataBound (e As EventArgs)

パラメーター

e
EventArgs

イベント データを格納している EventArgs オブジェクト。An EventArgs object that contains the event data.

次のコード例は、 OnDataBoundメソッドを使用して、派生データバインドコントロールクラスによってDataBoundイベントを発生させる方法を示しています。The following code example demonstrates how the OnDataBound method is used to raise the DataBound event by a derived data-bound control class. メソッドGetData DataBoundPerformDataBindingメソッドを使用してデータをコントロールにバインドした後、データバインドコントロールによってイベントが発生し、データバインディングが完了したことが通知されます。After using the GetData and PerformDataBinding methods to bind data to the control, the data-bound control raises the DataBound event to signal that data binding is complete. このコード例は、 DataBoundControlクラスに対して提供される大規模な例の一部です。This code example is part of a larger example provided for the DataBoundControl class.

protected override void PerformSelect() {            

   // Call OnDataBinding here if bound to a data source using the
   // DataSource property (instead of a DataSourceID), because the
   // databinding statement is evaluated before the call to GetData.       
    if (! IsBoundUsingDataSourceID) {
        OnDataBinding(EventArgs.Empty);
    }            
    
    // The GetData method retrieves the DataSourceView object from  
    // the IDataSource associated with the data-bound control.            
    GetData().Select(CreateDataSourceSelectArguments(), 
        OnDataSourceViewSelectCallback);
    
    // The PerformDataBinding method has completed.
    RequiresDataBinding = false;
    MarkAsDataBound();
    
    // Raise the DataBound event.
    OnDataBound(EventArgs.Empty);
}
Protected Overrides Sub PerformSelect()

    ' Call OnDataBinding here if bound to a data source using the 
    ' DataSource property (instead of a DataSourceID) because the 
    ' data-binding statement is evaluated before the call to GetData.
    If Not IsBoundUsingDataSourceID Then
        OnDataBinding(EventArgs.Empty)
    End If

    ' The GetData method retrieves the DataSourceView object from the 
    ' IDataSource associated with the data-bound control.            
    GetData().Select(CreateDataSourceSelectArguments(), _
        AddressOf OnDataSourceViewSelectCallback)

    ' The PerformDataBinding method has completed.
    RequiresDataBinding = False
    MarkAsDataBound()

    ' Raise the DataBound event.
        OnDataBound(EventArgs.Empty)

End Sub

注釈

このメソッドは、コントロールに関連付けられているデータバインディングロジックがすべて完了したことをサーバーコントロールに通知します。This method notifies a server control that any data binding logic associated with the control has completed.

重要

メソッドDataBindは、からBaseDataBoundControl派生したすべてのコントロールでシールされています。The DataBind method is sealed on all controls derived from BaseDataBoundControl. データバインドコントロールは、データPerformDataBindingをバインドするDataBindために、メソッドの代わりにオーバーライドする必要があります。Data-bound controls should override PerformDataBinding instead of the DataBind method to bind data. がオーバーライドされるOnDataBindingと、 OnDataBoundイベントとイベントが順不同で発生します。 DataBindIf DataBind is overridden, the OnDataBinding and OnDataBound events are raised out of order.

イベントを発生させると、イベント ハンドラーがデリゲートから呼び出されます。Raising an event invokes the event handler through a delegate. 詳細については、次を参照してください。処理とイベントの発生します。For more information, see Handling and Raising Events.

OnDataBound メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。The OnDataBound method also allows derived classes to handle the event without attaching a delegate. 派生クラスでイベントを処理する場合は、この手法をお勧めします。This is the preferred technique for handling the event in a derived class.

注意 (継承者)

派生クラスOnDataBound(EventArgs)でをオーバーライドする場合は、登録されているデリゲートOnDataBound(EventArgs)がイベントを受け取るように、基本クラスのメソッドを呼び出す必要があります。When overriding OnDataBound(EventArgs) in a derived class, be sure to call the base class' OnDataBound(EventArgs) method so that registered delegates receive the event.

適用対象

こちらもご覧ください