Aracılığıyla paylaş


BindingContext.Item[] Özellik

Tanım

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.

Ayrıca bkz.

Şunlara uygulanır