Поделиться через


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 событий. Этот пример кода является частью более крупного примера, приведенного в разделе "Практическое руководство. Настройка добавления элементов с помощью Привязки Windows Forms".

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 автоматически вызывается. Это событие можно программно обрабатывать для создания нового элемента. Это достигается в обработчике событий, задав NewObject свойство System.ComponentModel.AddingNewEventArgs параметра новому элементу. Новый объект, созданный в AddingNew событии, должен иметь тот же тип, что и тип, содержащийся в списке, или исключение.

    AddingNew Если событие не обрабатывается, а базовый список — это IBindingList, то запрос передается методу спискаIBindingList.AddNew. Если базовый IBindingListсписок не является, элемент автоматически создается с помощью его общедоступного конструктора без параметров. В любом случае новый элемент добавляется в конец списка.

  3. Новый элемент добавляется немедленно во внутренний список, если источник данных не реализует IEditableObject интерфейс. В этом случае новый элемент не фиксируется до тех пор, пока не будет выполнен явный вызов ICancelAddNew.EndNew или пока не будет инициирована новая операция списка. Перед фиксацией новый элемент можно откатить, вызвав вызов CancelEdit, в котором новый элемент удаляется.

Этот метод вызывает ListChanged событие.

Применяется к

См. также раздел