次の方法で共有


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 追加されます。 このコード例は、「How to: Customize Item Addition with the Windows フォーム BindingSource」で提供されるより大きな例の一部です。

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

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

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

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

適用対象

こちらもご覧ください