Bagikan melalui


BindingSource.AllowNew Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah AddNew() metode dapat digunakan untuk menambahkan item ke daftar.

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

Nilai Properti

true jika AddNew() dapat digunakan untuk menambahkan item ke daftar; jika tidak, false.

Pengecualian

Properti ini diatur ke true ketika daftar yang mendasar yang diwakili oleh List properti memiliki ukuran tetap atau bersifat baca-saja.

Properti diatur ke true dan AddingNew peristiwa tidak ditangani ketika jenis daftar yang mendasar tidak memiliki konstruktor tanpa parameter.

Contoh

Contoh kode berikut menunjukkan penggunaan AllowNew properti BindingSource komponen untuk mengizinkan pengguna menambahkan item baru ke BindingSource daftar yang mendasar komponen. Mengatur properti ini untuk true menyebabkan kontrol terikat DataGridView menampilkan barisnya untuk rekaman baru.

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

Keterangan

Nilai default untuk AllowNew properti bergantung pada jenis sumber data yang mendasar. Jika daftar yang mendasar IBindingList mengimplementasikan antarmuka, properti ini akan mendelegasikan ke daftar yang mendasar. Jika tidak, properti ini akan kembali false jika daftar yang mendasar memiliki salah satu karakteristik berikut:

  • Ini memiliki ukuran tetap, seperti yang ditentukan oleh IList.IsFixedSize properti .

  • Ini bersifat baca-saja, seperti yang ditentukan oleh IList.IsReadOnly properti .

  • Jenis item tidak memiliki konstruktor tanpa parameter.

Catatan

Setelah nilai properti ini diatur, getter tidak lagi merujuk panggilan ke daftar yang mendasar. Sebaliknya, ia hanya mengembalikan nilai yang sebelumnya ditetapkan sampai metode dipanggil ResetAllowNew .

Mengatur properti ini meningkatkan ListChanged peristiwa dengan ListChangedEventArgs.ListChangedType diatur ke ListChangedType.Reset.

Jika Anda mengatur AllowNew properti ke true dan jenis daftar yang mendasar tidak memiliki konstruktor tanpa parameter, Anda harus menangani AddingNew peristiwa dan membuat jenis yang sesuai.

Berlaku untuk

Lihat juga