Sdílet prostřednictvím


BindingSource.AddNew Metoda

Definice

Přidá novou položku do podkladového seznamu.

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

Návraty

Vytvořený Object a přidaný do seznamu.

Implementuje

Výjimky

Vlastnost AllowNew je nastavena na hodnotu false.

-nebo-

Pro aktuální typ položky nebyl nalezen veřejný konstruktor bez parametrů.

Příklady

Následující příklad kódu používá komponentu BindingSource k vytvoření vazby seznamu s ovládacím prvkem DataGridView . Nové položky jsou přidány do seznamu obslužnou rutinou AddingNew události. Tento příklad kódu je součástí většího příkladu uvedeného v tématu Postupy: Přizpůsobení přidávání položek pomocí model Windows Forms 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

Poznámky

Metoda AddNew přidá novou položku do podkladového seznamu reprezentované List vlastností . Tato metoda nastaví následující řadu akcí:

  1. Metoda EndEdit je automaticky volána k potvrzení všech čekajících operací úprav.

  2. Událost AddingNew se automaticky vyvolá. Tato událost se dá programově zpracovat a vytvořit novou položku. Toho se dosahuje v obslužné rutině události nastavením NewObject vlastnosti parametru System.ComponentModel.AddingNewEventArgs na novou položku. Nový objekt vytvořený v AddingNew události musí být stejného typu jako typ obsažený v seznamu, jinak dojde k výjimce.

    Pokud se AddingNew událost nezpracuje a podkladovým seznamem IBindingListje , předá se požadavek metodě seznamu IBindingList.AddNew . Pokud podkladový seznam není , položka se automaticky vytvoří prostřednictvím veřejného konstruktoru IBindingListbez parametrů. V obou případech se nová položka přidá na konec seznamu.

  3. Nová položka se okamžitě přidá do interního seznamu, pokud zdroj dat neimplementuje IEditableObject rozhraní. V tomto případě není nová položka potvrzena, dokud není provedeno explicitní volání ICancelAddNew.EndNew nebo dokud není zahájena nová operace seznamu. Před potvrzením je možné novou položku vrátit zpět voláním CancelEditmetody , v takovém případě je nová položka zahozena.

Tato metoda vyvolá ListChanged událost.

Platí pro

Viz také