BindingSource.AddNew Metoda

Definicja

Dodaje nowy element do listy podstawowej.Adds a new item to the underlying list.

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

Zwraca

Object

, Object Który został utworzony i dodany do listy.The Object that was created and added to the list.

Implementuje

Wyjątki

Właściwość AllowNew ma ustawioną wartość false.The AllowNew property is set to false.

-lub--or- Nie można odnaleźć publicznego konstruktora bez parametrów dla bieżącego typu elementu.A public parameterless constructor could not be found for the current item type.

Przykłady

Poniższy przykład kodu używa składnika, BindingSource Aby powiązać listę z DataGridView kontrolką.The following code example uses a BindingSource component to bind a list to a DataGridView control. Nowe elementy są dodawane do listy przez AddingNew program obsługi zdarzeń.New items are added to the list by the AddingNew event handler. Ten przykład kodu jest częścią większego przykładu przedstawionego w temacie How to: Dostosowywanie dodawania elementów za pomocą źródła danych Windows Forms.This code example is part of a larger example provided in How to: Customize Item Addition with the 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

Uwagi

AddNewMetoda dodaje nowy element do podstawowej listy reprezentowanej przez List Właściwość.The AddNew method adds a new item to the underlying list represented by the List property. Ta metoda konfiguruje następującą serię akcji:This method sets up the following series of actions:

  1. EndEditMetoda jest wywoływana automatycznie, aby zatwierdzić wszystkie oczekujące operacje edycji.The EndEdit method is automatically called to commit any pending edit operations.

  2. AddingNewZdarzenie jest zgłaszane automatycznie.The AddingNew event is automatically raised. To zdarzenie może być obsługiwane programowo w celu skonstruowania nowego elementu.This event can be programmatically handled to construct the new item. Jest to realizowane w programie obsługi zdarzeń przez ustawienie NewObject właściwości System.ComponentModel.AddingNewEventArgs parametru na nowy element.This is accomplished in the event handler by setting the NewObject property of the System.ComponentModel.AddingNewEventArgs parameter to the new item. Nowy obiekt utworzony w AddingNew zdarzeniu musi być tego samego typu co typ zawarty na liście lub wystąpił wyjątek.The new object created in the AddingNew event must be of the same type as the type contained in the list or an exception will occur.

    Jeśli AddingNew zdarzenie nie jest obsługiwane, a podstawową listą jest a IBindingList , żądanie jest przesyłane do IBindingList.AddNew metody listy.If the AddingNew event is not handled, and the underlying list is an IBindingList, then the request is passed to the list's IBindingList.AddNew method. Jeśli podstawowa lista nie jest IBindingList , element jest automatycznie tworzony za pomocą publicznego konstruktora bez parametrów.If the underlying list is not an IBindingList, the item is automatically created through its public parameterless constructor. W obu przypadkach nowy element zostanie dodany na końcu listy.In either case, the new item is added to the end of the list.

  3. Nowy element zostanie natychmiast dodany do listy wewnętrznej, chyba że źródło danych implementuje IEditableObject interfejs.The new item is added immediately to the internal list unless the data source implements the IEditableObject interface. W takim przypadku nowy element nie jest zatwierdzany do momentu wywołania jawnego ICancelAddNew.EndNew lub do momentu zainicjowania nowej listy operacji.In this case, the new item is not committed until an explicit call to ICancelAddNew.EndNew is made or until a new list operation is initiated. Przed zatwierdzeniem nowy element można wycofać CancelEdit , wywołując, w którym przypadku nowy element zostanie odrzucony.Before it is committed, the new item can be rolled back by calling CancelEdit, in which case the new item is discarded.

Ta metoda podnosi ListChanged zdarzenie.This method raises the ListChanged event.

Dotyczy

Zobacz też