BindingSource.AllowNew Özellik

Tanım

Yöntemin AddNew() listeye öğe eklemek için kullanılıp kullanılamayacağını belirten bir değer alır veya ayarlar.

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

Özellik Değeri

true listeye öğe eklemek için kullanılabiliyorsa AddNew() ; değilse, false.

Özel durumlar

Bu özellik, özelliği tarafından List temsil edilen temel alınan listenin sabit bir boyutu olduğunda veya salt okunur olduğunda olarak ayarlanırtrue.

özelliği olarak ayarlanır true ve AddingNew temel alınan liste türü parametresiz oluşturucuya sahip olmadığında olay işlenmez.

Örnekler

Aşağıdaki kod örneği, kullanıcının bileşenin AllowNewBindingSource temel listesine yeni öğeler eklemesine izin vermek için bileşenin BindingSource özelliğinin kullanılmasını gösterir. Bu özelliğin olarak true ayarlanması, ilişkili DataGridView denetimin yeni kayıtlar için satırını görüntülemesine neden olur.

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

Açıklamalar

Özelliğin AllowNew varsayılan değeri, temel alınan veri kaynağı türüne bağlıdır. Temel alınan liste arabirimini uygularsa IBindingList , bu özellik temel alınan listeye temsilci seçer. Aksi takdirde, temel alınan listede aşağıdaki özelliklerden herhangi biri varsa bu özellik döndürülecektir false :

  • Özelliği tarafından belirlenen sabit bir boyuta IList.IsFixedSize sahiptir.

  • Özelliği tarafından IList.IsReadOnly belirlendiği gibi salt okunurdur.

  • Öğenin türünün parametresiz oluşturucu yok.

Not

Bu özelliğin değeri ayarlandıktan sonra, getter artık çağrıyı temel alınan listeye göndermez. Bunun yerine, yöntem çağrılana kadar ResetAllowNew daha önce ayarlanmış olan değeri döndürür.

Bu özelliğin ayarlanması, ile olayının ListChangedListChangedEventArgs.ListChangedType olarak ayarlanmasını ListChangedType.Resetsağlar.

özelliğini true olarak ayarlarsanız AllowNew ve temel alınan liste türü parametresiz bir oluşturucuya sahip değilse, olayı işlemeniz AddingNew ve uygun türü oluşturmanız gerekir.

Şunlara uygulanır

Ayrıca bkz.