BindingSource.AddNew Metoda

Definicja

Dodaje nowy element do listy bazowej.

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

Zwraca

Element Object , który został utworzony i dodany do listy.

Implementuje

Wyjątki

Właściwość AllowNew ma ustawioną wartość false.

-lub-

Nie można odnaleźć publicznego konstruktora bez parametrów dla bieżącego typu elementu.

Przykłady

Poniższy przykład kodu używa BindingSource składnika do powiązania listy z kontrolką DataGridView . Nowe elementy są dodawane do listy przez program obsługi zdarzeń AddingNew . Ten przykładowy kod jest częścią większego przykładu przedstawionego w temacie How to: Customize Item Addition with the Windows Forms BindingSource (Jak dostosować dodawanie elementu za pomocą 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

Metoda AddNew dodaje nowy element do listy bazowej reprezentowanej List przez właściwość . Ta metoda konfiguruje następującą serię akcji:

  1. Metoda jest wywoływana EndEdit automatycznie, aby zatwierdzić wszystkie oczekujące operacje edycji.

  2. Zdarzenie AddingNew jest zgłaszane automatycznie. To zdarzenie można obsłużyć programowo, aby skonstruować nowy element. Jest to realizowane w procedurze obsługi zdarzeń przez ustawienie NewObject właściwości parametru System.ComponentModel.AddingNewEventArgs na nowy element. Nowy obiekt utworzony w AddingNew zdarzeniu musi być tego samego typu co typ zawarty na liście lub wystąpi wyjątek.

    AddingNew Jeśli zdarzenie nie jest obsługiwane, a lista bazowa jest wartością IBindingList, żądanie jest przekazywane do metody listyIBindingList.AddNew. Jeśli lista bazowa nie jest elementem IBindingList, element jest tworzony automatycznie za pomocą jego publicznego konstruktora bez parametrów. W obu przypadkach nowy element zostanie dodany na końcu listy.

  3. Nowy element jest natychmiast dodawany do wewnętrznej listy, chyba że źródło danych implementuje IEditableObject interfejs. W takim przypadku nowy element nie zostanie zatwierdzony, dopóki nie zostanie wykonane jawne wywołanie ICancelAddNew.EndNew elementu lub dopóki nie zostanie zainicjowana nowa operacja listy. Przed jego zatwierdzeniu nowy element można wycofać, wywołując CancelEditmetodę , w tym przypadku nowy element zostanie odrzucony.

Ta metoda zgłasza ListChanged zdarzenie.

Dotyczy

Zobacz też