BindingSource.AllowNew Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.