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


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

Комментарии

Метод AddNew добавляет новый элемент в базовый список, представленный свойством List . Этот метод настраивает следующую последовательность действий:

  1. Метод EndEdit вызывается автоматически для фиксации всех ожидающих операций редактирования.

  2. Событие AddingNew возникает автоматически. Это событие можно обработать программным способом для создания нового элемента. Это достигается в обработчике событий, задавая NewObject для свойства System.ComponentModel.AddingNewEventArgs параметра значение нового элемента. Новый объект, созданный в событии AddingNew , должен иметь тот же тип, что и тип, содержащийся в списке, иначе возникнет исключение.

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

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

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

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

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