BindingSource.AllowNew Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.