Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

BindingContext.Item-Eigenschaft: (Object, String)

 

Veröffentlicht: Oktober 2016

Ruft einen BindingManagerBase der angegebenen Datenquelle und dem Datenmember zugeordnet ist.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public BindingManagerBase this[
	object dataSource,
	string dataMember
] { get; }

Parameter

dataSource
Type: System.Object

Die Datenquelle, die mit einem bestimmten verknüpften BindingManagerBase.

dataMember
Type: System.String

Ein Navigationspfad mit den Informationen, die einem bestimmten löst BindingManagerBase.

Eigenschaftswert

Type: System.Windows.Forms.BindingManagerBase

Die BindingManagerBase für die angegebene Datenquelle und Datenmember.

Exception Condition
Exception

Das angegebene dataMember innerhalb der Datenquelle nicht vorhanden.

Verwenden Sie diese Überladung, wenn die BindingManagerBase verwaltet einen Satz von Binding Objekte, die für die Datenquelle mehrere Objekte enthält. Z. B. eine DataSet kann mehrere enthalten DataTable verknüpft, indem Objekte DataRelation Objekte. In diesem Fall ist der Navigationspfad erforderlich, um Aktivieren der BindingContext den richtigen zurückzugebenden BindingManagerBase.

System_CAPS_noteHinweis

Die Item -Eigenschaft gibt stets eine BindingManagerBase, wenn der dataMember Parameter ist ungültig. Es wird nie zurückgegeben null.

Finden Sie unter der Binding -Klasse eine Liste der möglichen Datenquellen und Informationen zum Erstellen von Bindungen zwischen Steuerelementen und Datenquellen.

Wenn die gewünschte BindingManagerBase verwaltet eine Liste der Pfad auch mit einer Liste enden. Der folgende C#-Code bindet z. B. ein TextBox Steuerelement an das Auftragsdatum in einer Tabelle von Aufträgen. Der Navigationspfad enthält die TableName, RelationName, und die ColumnName. Allerdings die BindingManagerBase nur abgerufen werden muss die TableName und RelationName (dieser wird in eine Liste aufgelöst).

// 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"];

Beim Zurückgeben einer BindingManagerBase, verwenden Sie die gleiche Datenquelle wie die Binding und nur den Navigationspfad ändern.

Verwenden der Contains -Methode bestimmt, ob die gewünschte BindingManagerBase bereits vorhanden ist.

Das folgende Codebeispiel veranschaulicht, wie Sie Item zum Abrufen der BindingManagerBase für eine bestimmte Bindung nutzen. Zeigt außerdem, wie das BindingComplete-Ereignis für die BindingManagerBase behandelt wird, um sicherzustellen, dass mehrere an dieselbe Datenquelle gebundenen Steuerelemente synchronisiert bleiben, wenn die Werte des Steuerelements geändert werden. Fügen Sie zum Ausführen dieses Beispiels den Code in ein Windows Form win und rufen Sie die InitializeControlsAndData-Methode aus dem Konstruktor des Formulars oder die Load-Methode für die Ereignisbehandlung auf.

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 occured.
    if (e.BindingCompleteContext ==
        BindingCompleteContext.DataSourceUpdate && e.Exception == null)

        // If not, end the current edit.
        e.Binding.BindingManagerBase.EndCurrentEdit(); ;
}

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: