BindingSource.AddNew Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í:
Metoda EndEdit je automaticky volána k potvrzení všech čekajících operací úprav.
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.
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.