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 . Этот метод настраивает следующую последовательность действий:
Метод EndEdit вызывается автоматически для фиксации всех ожидающих операций редактирования.
Событие AddingNew возникает автоматически. Это событие можно обработать программным способом для создания нового элемента. Это достигается в обработчике событий, задавая NewObject для свойства System.ComponentModel.AddingNewEventArgs параметра значение нового элемента. Новый объект, созданный в событии AddingNew , должен иметь тот же тип, что и тип, содержащийся в списке, иначе возникнет исключение.
AddingNew Если событие не обрабатывается, а базовым списком IBindingListявляется , запрос передается в метод спискаIBindingList.AddNew. Если базовый список не является IBindingList, элемент автоматически создается с помощью его открытого конструктора без параметров. В любом случае новый элемент добавляется в конец списка.
Новый элемент добавляется немедленно во внутренний список, если источник данных не реализует IEditableObject интерфейс . В этом случае новый элемент не фиксируется, пока не будет выполнен явный вызов ICancelAddNew.EndNew или пока не будет инициирована новая операция списка. Перед фиксацией новый элемент можно откатить, вызвав CancelEdit, в этом случае новый элемент удаляется.
Этот метод вызывает ListChanged событие .