BindingContext.Item[] Ö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.
bir BindingManagerBasealır.
Aşırı Yüklemeler
Item[Object, String] |
Belirtilen veri kaynağı ve veri üyesiyle ilişkili bir BindingManagerBase alır. |
Item[Object] |
BindingManagerBase Belirtilen veri kaynağıyla ilişkili olan değerini alır. |
Item[Object, String]
Belirtilen veri kaynağı ve veri üyesiyle ilişkili bir BindingManagerBase alır.
public:
property System::Windows::Forms::BindingManagerBase ^ default[System::Object ^, System::String ^] { System::Windows::Forms::BindingManagerBase ^ get(System::Object ^ dataSource, System::String ^ dataMember); };
public System.Windows.Forms.BindingManagerBase this[object dataSource, string dataMember] { get; }
public System.Windows.Forms.BindingManagerBase this[object dataSource, string? dataMember] { get; }
member this.Item(obj * string) : System.Windows.Forms.BindingManagerBase
Default Public ReadOnly Property Item(dataSource As Object, dataMember As String) As BindingManagerBase
Parametreler
- dataSource
- Object
Belirli BindingManagerBasebir ile ilişkili veri kaynağı.
- dataMember
- String
Belirli BindingManagerBasebir öğesine çözümleyen bilgileri içeren gezinti yolu.
Özellik Değeri
BindingManagerBase Belirtilen veri kaynağı ve veri üyesi için.
Özel durumlar
Belirtilen dataMember
veri kaynağı içinde yok.
Örnekler
Aşağıdaki kod örneği, belirli bir bağlama için öğesini almak için öğesinin BindingManagerBase nasıl kullanılacağını Item[] gösterir. Ayrıca, denetim değerlerinden biri değiştirildiğinde aynı veri kaynağına bağlı birden çok denetimin eşitlenmiş olarak kalmasını sağlamak için BindingManagerBase olayının nasıl işleneceğini BindingComplete gösterir. Bu örneği çalıştırmak için, kodu bir Windows Formuna yapıştırın ve formun InitializeControlsAndData
oluşturucusundan veya Load olay işleme yönteminden yöntemini çağırın.
private void InitializeControlsAndData()
{
// Initialize the controls and set location, size and
// other basic properties.
this.dataGridView1 = new DataGridView();
this.textBox1 = new TextBox();
this.textBox2 = new TextBox();
this.dataGridView1.ColumnHeadersHeightSizeMode =
DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Dock = DockStyle.Top;
this.dataGridView1.Location = new Point(0, 0);
this.dataGridView1.Size = new Size(292, 150);
this.textBox1.Location = new Point(132, 156);
this.textBox1.Size = new Size(100, 20);
this.textBox2.Location = new Point(12, 156);
this.textBox2.Size = new Size(100, 20);
this.ClientSize = new Size(292, 266);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.dataGridView1);
// Declare the DataSet and add a table and column.
DataSet set1 = new DataSet();
set1.Tables.Add("Menu");
set1.Tables[0].Columns.Add("Beverages");
// Add some rows to the table.
set1.Tables[0].Rows.Add("coffee");
set1.Tables[0].Rows.Add("tea");
set1.Tables[0].Rows.Add("hot chocolate");
set1.Tables[0].Rows.Add("milk");
set1.Tables[0].Rows.Add("orange juice");
// Add the control data bindings.
dataGridView1.DataSource = set1;
dataGridView1.DataMember = "Menu";
textBox1.DataBindings.Add("Text", set1,
"Menu.Beverages", true, DataSourceUpdateMode.OnPropertyChanged);
textBox2.DataBindings.Add("Text", set1,
"Menu.Beverages", true, DataSourceUpdateMode.OnPropertyChanged);
BindingManagerBase bmb = this.BindingContext[set1, "Menu"];
bmb.BindingComplete += new BindingCompleteEventHandler(bmb_BindingComplete);
}
private void bmb_BindingComplete(object sender, BindingCompleteEventArgs e)
{
// Check if the data source has been updated, and that no error has occurred.
if (e.BindingCompleteContext ==
BindingCompleteContext.DataSourceUpdate && e.Exception == null)
// If not, end the current edit.
e.Binding.BindingManagerBase.EndCurrentEdit(); ;
}
Dim WithEvents bmb As BindingManagerBase
Private Sub InitializeControlsAndData()
' Initialize the controls and set location, size and
' other basic properties.
Me.dataGridView1 = New DataGridView()
Me.textBox1 = New TextBox()
Me.textBox2 = New TextBox()
Me.dataGridView1.ColumnHeadersHeightSizeMode = _
DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dataGridView1.Dock = DockStyle.Top
Me.dataGridView1.Location = New Point(0, 0)
Me.dataGridView1.Size = New Size(292, 150)
Me.textBox1.Location = New Point(132, 156)
Me.textBox1.Size = New Size(100, 20)
Me.textBox2.Location = New Point(12, 156)
Me.textBox2.Size = New Size(100, 20)
Me.ClientSize = New Size(292, 266)
Me.Controls.Add(Me.textBox2)
Me.Controls.Add(Me.textBox1)
Me.Controls.Add(Me.dataGridView1)
' Declare the DataSet and add a table and column.
Dim set1 As New DataSet()
set1.Tables.Add("Menu")
set1.Tables(0).Columns.Add("Beverages")
' Add some rows to the table.
set1.Tables(0).Rows.Add("coffee")
set1.Tables(0).Rows.Add("tea")
set1.Tables(0).Rows.Add("hot chocolate")
set1.Tables(0).Rows.Add("milk")
set1.Tables(0).Rows.Add("orange juice")
' Add the control data bindings.
dataGridView1.DataSource = set1
dataGridView1.DataMember = "Menu"
textBox1.DataBindings.Add("Text", set1, "Menu.Beverages", _
True, DataSourceUpdateMode.OnPropertyChanged)
textBox2.DataBindings.Add("Text", set1, "Menu.Beverages", _
True, DataSourceUpdateMode.OnPropertyChanged)
' Get the BindingManagerBase for this binding.
bmb = Me.BindingContext(set1, "Menu")
End Sub
Private Sub bmb_BindingComplete(ByVal sender As Object, ByVal e As BindingCompleteEventArgs) _
Handles bmb.BindingComplete
' Check if the data source has been updated, and that no error has occurred.
If e.BindingCompleteContext = BindingCompleteContext.DataSourceUpdate _
AndAlso e.Exception Is Nothing Then
' If not, end the current edit.
e.Binding.BindingManagerBase.EndCurrentEdit()
End If
End Sub
Açıklamalar
Veri kaynağının BindingManagerBase birden çok nesne içerdiği bir nesne kümesini Binding yönetirken bu aşırı yüklemeyi kullanın. Örneğin, bir DataSet nesnelerle DataRelation bağlantılı birkaç DataTable nesne içerebilir. Böyle bir durumda, öğesinin doğru BindingManagerBasedeğerini döndürmesini sağlamak BindingContext için gezinti yolu gereklidir.
Not
Item[] parametresi geçerli olduğunda dataMember
özelliği her zaman bir BindingManagerBasedöndürür. Hiçbir zaman döndürmez null
.
Binding Olası veri kaynaklarının listesi ve denetimlerle veri kaynakları arasında bağlama oluşturma hakkında bilgi için sınıfına bakın.
İstenen BindingManagerBase bir liste yönetiyorsa, gezinti yolunun da bir listeyle bitmesi gerekir. Örneğin, aşağıdaki C# kodu bir denetimi sipariş TextBox tablosundaki sipariş tarihine bağlar. Gezinti yolu TableName, ve RelationNameColumnNameiçerir. Ancak, BindingManagerBase yalnızca TableName ve RelationName (bir listeye çözümlenen) kullanılarak alınmalıdır.
// The navigation path for a Binding ends with a property.
textBox1.DataBindings.Add
("Text", dataSet1, "Customers.custToOrders.OrderDate");
// The navigation path for the BindingManagerBase ends with a list.
BindingManagerBase bmOrders = this.BindingContext
[dataSet1, "Customers.custToOrders"];
döndürürken BindingManagerBaseile aynı veri kaynağını Binding kullanmanız ve yalnızca gezinti yolunu değiştirmeniz gerekir.
İstenenin ContainsBindingManagerBase zaten mevcut olup olmadığını belirlemek için yöntemini kullanın.
Ayrıca bkz.
Şunlara uygulanır
Item[Object]
BindingManagerBase Belirtilen veri kaynağıyla ilişkili olan değerini alır.
public:
property System::Windows::Forms::BindingManagerBase ^ default[System::Object ^] { System::Windows::Forms::BindingManagerBase ^ get(System::Object ^ dataSource); };
public System.Windows.Forms.BindingManagerBase this[object dataSource] { get; }
member this.Item(obj) : System.Windows.Forms.BindingManagerBase
Default Public ReadOnly Property Item(dataSource As Object) As BindingManagerBase
Parametreler
- dataSource
- Object
Belirli BindingManagerBasebir ile ilişkili veri kaynağı.
Özellik Değeri
Belirtilen veri kaynağı için A BindingManagerBase .
Örnekler
Aşağıdaki kod örneği üç BindingManagerBase nesne döndürür: biri bir DataViewiçin, biri bir ArrayListiçin ve diğeri de denetime TextBox ait olan bir Binding nesne içinDataSource.
void ReturnBindingManagerBase()
{
// Get the BindingManagerBase for a DataView.
BindingManagerBase^ bmCustomers = this->BindingContext[ myDataView ];
/* Get the BindingManagerBase for an ArrayList. */
BindingManagerBase^ bmOrders = this->BindingContext[ myArrayList ];
// Get the BindingManagerBase for a TextBox control.
BindingManagerBase^ baseArray = this->BindingContext[ textBox1->DataBindings[ nullptr ]->DataSource ];
}
private void ReturnBindingManagerBase()
{
// Get the BindingManagerBase for a DataView.
BindingManagerBase bmCustomers =
this.BindingContext [myDataView];
/* Get the BindingManagerBase for an ArrayList. */
BindingManagerBase bmOrders =
this.BindingContext[myArrayList];
// Get the BindingManagerBase for a TextBox control.
BindingManagerBase baseArray =
this.BindingContext[textBox1.DataBindings[0].DataSource];
}
Private Sub ReturnBindingManagerBase()
' Get the BindingManagerBase for a DataView.
Dim bmCustomers As BindingManagerBase = _
Me.BindingContext(myDataView)
' Get the BindingManagerBase for an ArrayList.
Dim bmOrders As BindingManagerBase = _
Me.BindingContext(myArrayList)
' Get the BindingManagerBase for a TextBox control.
Dim baseArray As BindingManagerBase = _
Me.BindingContext(Text1.DataBindings(0).DataSource)
End Sub
Açıklamalar
İstediğiniz bir gezinti yolu gerektirmiyorsa bu aşırı yüklemeyi BindingManagerBase kullanın. Örneğin, veya kullanan DataTableArrayListDataSourcebir nesne kümesini Binding yönetirse BindingManagerBase gezinti yolu gerekmez.
Not
Item[] özelliği her zaman bir BindingManagerBasedöndürür ve hiçbir zaman döndürmeznull
.
Binding Olası veri kaynaklarının listesi ve denetimlerle veri kaynakları arasında bağlama oluşturma hakkında bilgi için sınıfına bakın.