BindingSource.AllowNew BindingSource.AllowNew BindingSource.AllowNew BindingSource.AllowNew Property

Définition

Obtient ou définit une valeur indiquant si la méthode AddNew() peut être utilisée pour ajouter des éléments à la liste.Gets or sets a value indicating whether the AddNew() method can be used to add items to the list.

public:
 virtual property bool AllowNew { bool get(); void set(bool value); };
public virtual bool AllowNew { get; set; }
member this.AllowNew : bool with get, set
Public Overridable Property AllowNew As Boolean

Valeur de propriété

true si AddNew() peut être utilisé pour ajouter des éléments à la liste ; sinon, false.true if AddNew() can be used to add items to the list; otherwise, false.

Exceptions

Cette propriété a la valeur true lorsque la liste sous-jacente représentée par la propriété List a une taille fixe ou est en lecture seule.This property is set to true when the underlying list represented by the List property has a fixed size or is read-only.

La propriété a la valeur true et l’événement AddingNew n’est pas géré lorsque le type de liste sous-jacent n’a pas de constructeur sans paramètre.The property is set to true and the AddingNew event is not handled when the underlying list type does not have a parameterless constructor.

Exemples

L’exemple AllowNew BindingSource de code suivant illustre l’utilisation de la propriété du composantpourpermettreàl’utilisateurd’ajouterdenouveauxélémentsàlalistesous-jacenteducomposant.BindingSourceThe following code example demonstrates using the AllowNew property of the BindingSource component to permit the user to add new items to the BindingSource component's underlying list. Si cette propriété true a la valeur, DataGridView le contrôle lié affiche sa ligne pour les nouveaux enregistrements.Setting this property to true causes the bound DataGridView control to display its row for new records.

Form1()
{
   // Set up the form.
   this->Size = System::Drawing::Size( 800, 800 );
   this->Load += gcnew EventHandler( this, &Form1::Form1_Load );
   
   // Set up the RadioButton controls.
   this->allRadioBtn->Text = L"All";
   this->allRadioBtn->Checked = true;
   this->allRadioBtn->CheckedChanged += gcnew EventHandler(
      this, &Form1::allRadioBtn_CheckedChanged );
   this->allRadioBtn->Dock = DockStyle::Top;
   this->currentRadioBtn->Text = L"Current";
   this->currentRadioBtn->CheckedChanged += gcnew EventHandler(
      this, &Form1::currentRadioBtn_CheckedChanged );
   this->currentRadioBtn->Dock = DockStyle::Top;
   this->noneRadioBtn->Text = L"None";
   this->noneRadioBtn->CheckedChanged += gcnew EventHandler(
      this, &Form1::noneRadioBtn_CheckedChanged );
   this->noneRadioBtn->Dock = DockStyle::Top;
   this->buttonPanel->Controls->Add( this->allRadioBtn );
   this->buttonPanel->Controls->Add( this->currentRadioBtn );
   this->buttonPanel->Controls->Add( this->noneRadioBtn );
   this->buttonPanel->Dock = DockStyle::Bottom;
   this->Controls->Add( this->buttonPanel );
   
   // Set up the DataGridView control.
   this->customersDataGridView->AllowUserToAddRows = true;
   this->customersDataGridView->Dock = DockStyle::Fill;
   this->Controls->Add( customersDataGridView );
   
   // Add the StatusBar control to the form.
   this->Controls->Add( status );
   
   // Allow the user to add new items.
   this->customersBindingSource->AllowNew = true;
   
   // Attach an event handler for the AddingNew event.
   this->customersBindingSource->AddingNew +=
      gcnew AddingNewEventHandler(
         this, &Form1::customersBindingSource_AddingNew );
   
   // Attach an eventhandler for the ListChanged event.
   this->customersBindingSource->ListChanged +=
      gcnew ListChangedEventHandler(
         this, &Form1::customersBindingSource_ListChanged );
   
   // Set the initial value of the ItemChangedEventMode property
   // to report all ListChanged events.
   this->customersBindingSource->ItemChangedEventMode = 
     ItemChangedEventMode::All;
   
   // Attach the BindingSource to the DataGridView.
   this->customersDataGridView->DataSource =
      this->customersBindingSource;
}
public Form1()
{
	// Set up the form.
	this.Size = new Size(800, 800);
	this.Load += new EventHandler(Form1_Load);

	// Set up the DataGridView control.
	this.customersDataGridView.AllowUserToAddRows = true;
	this.customersDataGridView.Dock = DockStyle.Fill;
	this.Controls.Add(customersDataGridView);

	// Add the StatusBar control to the form.
	this.Controls.Add(status);

	// Allow the user to add new items.
	this.customersBindingSource.AllowNew = true;

	// Attach an event handler for the AddingNew event.
	this.customersBindingSource.AddingNew +=
		new AddingNewEventHandler(customersBindingSource_AddingNew);

	// Attach an eventhandler for the ListChanged event.
	this.customersBindingSource.ListChanged +=
		new ListChangedEventHandler(customersBindingSource_ListChanged);

	
	// Attach the BindingSource to the DataGridView.
	this.customersDataGridView.DataSource =
		this.customersBindingSource;
}
Public Sub New() 
    ' Set up the form.
    Me.Size = New Size(800, 800)
    AddHandler Me.Load, AddressOf Form1_Load
    
    ' Set up the DataGridView control.
    Me.customersDataGridView.AllowUserToAddRows = True
    Me.customersDataGridView.Dock = DockStyle.Fill
    Me.Controls.Add(customersDataGridView)
    
    ' Add the StatusBar control to the form.
    Me.Controls.Add(status)
    
    ' Allow the user to add new items.
    Me.customersBindingSource.AllowNew = True
    
    ' Attach the BindingSource to the DataGridView.
    Me.customersDataGridView.DataSource = Me.customersBindingSource

End Sub

Remarques

La valeur par défaut de AllowNew la propriété dépend du type de source de données sous-jacent.The default value for the AllowNew property depends on the underlying data source type. Si la liste sous-jacente implémente l' IBindingList interface, cette propriété délègue à la liste sous-jacente.If the underlying list implements the IBindingList interface, this property will delegate to the underlying list. Sinon, cette propriété retourne false si la liste sous-jacente présente l’une des caractéristiques suivantes:Otherwise, this property will return false if the underlying list has any of the following characteristics:

  • Sa taille est fixe, comme déterminé par la IList.IsFixedSize propriété.It has a fixed size, as determined by the IList.IsFixedSize property.

  • Elle est en lecture seule, comme déterminé par la IList.IsReadOnly propriété.It is read-only, as determined by the IList.IsReadOnly property.

  • Le type de l’élément n’a pas de constructeur sans paramètre.The item's type does not have a parameterless constructor.

Notes

Une fois que la valeur de cette propriété est définie, l’accesseur Get ne fait plus référence à l’appel à la liste sous-jacente.Once the value of this property is set, the getter no longer refers the call to the underlying list. Au lieu de cela, elle retourne simplement la valeur précédemment définie jusqu' ResetAllowNew à ce que la méthode soit appelée.Instead, it simply returns the value that was previously set until the ResetAllowNew method is called.

La définition de cette propriété ListChanged déclenche l' ListChangedEventArgs.ListChangedType événement avec ListChangedType.Resetdéfini sur.Setting this property raises the ListChanged event with ListChangedEventArgs.ListChangedType set to ListChangedType.Reset.

Si vous affectez AllowNew à true la propriété la valeur et que le type de liste sous-jacent n’a pas de constructeur AddingNew sans paramètre, vous devez gérer l’événement et créer le type approprié.If you set the AllowNew property to true and the underlying list type does not have a parameterless constructor, you must handle the AddingNew event and create the appropriate type.

S’applique à

Voir aussi