次の方法で共有


BindingSource.AddNew メソッド

定義

基になるリストに新しい項目を追加します。

public:
 virtual System::Object ^ AddNew();
public virtual object AddNew();
public virtual object? AddNew();
abstract member AddNew : unit -> obj
override this.AddNew : unit -> obj
Public Overridable Function AddNew () As Object

戻り値

作成されてリストに追加された Object

実装

例外

AllowNew プロパティが false に設定されている。

-又は-

現在の項目の種類に対して、パブリック パラメーターなしのコンストラクターが見つかりませんでした。

次のコード例では、 BindingSource コンポーネントを使用してリストを DataGridView コントロールにバインドします。 新しい項目は、 AddingNew イベント ハンドラーによって一覧に追加されます。 このコード例は、「 方法: Windows フォーム バインド ソースを使用して項目の追加をカスタマイズする」で提供されるより大きな例の一部です。

private:
   
    void OnMainFormLoad(Object^ sender, EventArgs^ e)
    {
        // Add a DemoCustomer to cause a row to be displayed.
        this->customersBindingSource->AddNew();
          
        // Bind the BindingSource to the DataGridView 
        // control's DataSource.
        this->customersDataGridView->DataSource = 
            this->customersBindingSource;
    }
private void Form1_Load(System.Object sender, System.EventArgs e)
{
    // Add a DemoCustomer to cause a row to be displayed.
    this.customersBindingSource.AddNew();

    // Bind the BindingSource to the DataGridView 
    // control's DataSource.
    this.customersDataGridView.DataSource = 
        this.customersBindingSource;
}
Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs)

    ' Add a DemoCustomer to cause a row to be displayed.
    Me.customersBindingSource.AddNew()

    ' Bind the BindingSource to the DataGridView 
    ' control's DataSource.
    Me.customersDataGridView.DataSource = Me.customersBindingSource

End Sub

注釈

AddNew メソッドは、List プロパティによって表される基になるリストに新しい項目を追加します。 このメソッドは、次の一連のアクションを設定します。

  1. EndEdit メソッドは、保留中の編集操作をコミットするために自動的に呼び出されます。

  2. AddingNew イベントは自動的に発生します。 このイベントは、プログラムによって処理して新しい項目を構築できます。 これは、イベント ハンドラーで、NewObject パラメーターのSystem.ComponentModel.AddingNewEventArgs プロパティを新しい項目に設定することによって実現されます。 AddingNew イベントで作成される新しいオブジェクトは、リストに含まれる型と同じ型である必要があります。または、例外が発生します。

    AddingNew イベントが処理されず、基になるリストがIBindingListの場合、要求はリストの IBindingList.AddNew メソッドに渡されます。 基になるリストが IBindingListでない場合、項目は、そのパブリック パラメーターなしのコンストラクターを使用して自動的に作成されます。 どちらの場合も、新しい項目がリストの末尾に追加されます。

  3. データ ソースが IEditableObject インターフェイスを実装しない限り、新しい項目は内部リストにすぐに追加されます。 この場合、 ICancelAddNew.EndNew の明示的な呼び出しが行われるまで、または新しいリスト操作が開始されるまで、新しい項目はコミットされません。 コミットする前に、 CancelEditを呼び出すことによって新しい項目をロールバックできます。その場合、新しい項目は破棄されます。

このメソッドは、 ListChanged イベントを発生させます。

適用対象

こちらもご覧ください