BindingList<T>.AllowNew Property

Definition

Gets or sets a value indicating whether you can add items to the list using the AddNew() method.

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

Property Value

true if you can add items to the list with the AddNew() method; otherwise, false. The default depends on the underlying type contained in the list.

Examples

The following code example demonstrates how to set the AllowNew property. For the complete example, see the BindingList<T> class overview topic.

    // Declare a new BindingListOfT with the Part business object.
    BindingList<Part> listOfParts; 
    private void InitializeListOfParts()
    {
        // Create the new BindingList of Part type.
        listOfParts = new BindingList<Part>();

        // Allow new parts to be added, but not removed once committed.        
        listOfParts.AllowNew = true;
        listOfParts.AllowRemove = false;

        // Raise ListChanged events when new parts are added.
        listOfParts.RaiseListChangedEvents = true;

        // Do not allow parts to be edited.
        listOfParts.AllowEdit = false;
        
        // Add a couple of parts to the list.
        listOfParts.Add(new Part("Widget", 1234));
        listOfParts.Add(new Part("Gadget", 5647));
    }
' Declare a new BindingListOfT with the Part business object.
Private WithEvents listOfParts As BindingList(Of Part)

Private Sub InitializeListOfParts()

    ' Create the new BindingList of Part type.
    listOfParts = New BindingList(Of Part)

    ' Allow new parts to be added, but not removed once committed.        
    listOfParts.AllowNew = True
    listOfParts.AllowRemove = False

    ' Raise ListChanged events when new parts are added.
    listOfParts.RaiseListChangedEvents = True

    ' Do not allow parts to be edited.
    listOfParts.AllowEdit = False

    ' Add a couple of parts to the list.
    listOfParts.Add(New Part("Widget", 1234))
    listOfParts.Add(New Part("Gadget", 5647))

End Sub

Remarks

The AllowNew property is typically used by other components to determine if the creation of new items is allowed. AllowNew defaults to true if the type contained in the list has a parameterless constructor or the AddingNew event is handled. If the AddingNew event is not handled or the list type does not have a parameterless constructor, then AllowNew defaults to false.

If AllowNew is explicitly set, the set value will always be used by bound objects to determine if new items can be added to the list. Whether AllowNew is true or false, new items can be added by explicitly calling AddNew if the list type has a parameterless constructor or the AddingNew event is handled. In addition, setting AllowNew causes a ListChanged event of type Reset to occur.

Applies to

See also