BindingContext.Item[] Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein BindingManagerBase.
Überlädt
| Name | Beschreibung |
|---|---|
| Item[Object, String] |
Ruft ein BindingManagerBase , das der angegebenen Datenquelle und dem angegebenen Datenmememm zugeordnet ist. |
| Item[Object] |
Ruft ab, der BindingManagerBase der angegebenen Datenquelle zugeordnet ist. |
Item[Object, String]
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
Ruft ein BindingManagerBase , das der angegebenen Datenquelle und dem angegebenen Datenmememm zugeordnet ist.
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
Parameter
- dataSource
- Object
Die Datenquelle, die einer bestimmten BindingManagerBaseDatenquelle zugeordnet ist.
- dataMember
- String
Ein Navigationspfad, der die Informationen enthält, die zu einem bestimmten BindingManagerBaseElement aufgelöst werden.
Eigenschaftswert
Die BindingManagerBase für die angegebene Datenquelle und das angegebene Datenelement.
Ausnahmen
Das angegebene dataMember Objekt ist nicht innerhalb der Datenquelle vorhanden.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie die Item[]BindingManagerBase für eine bestimmte Bindung abrufen. Außerdem wird gezeigt, wie das BindingComplete Ereignis für das BindingManagerBase Ereignis behandelt wird, um sicherzustellen, dass mehrere Steuerelemente, die an dieselbe Datenquelle gebunden sind, synchronisiert bleiben, wenn einer der Steuerelementwerte geändert wird. Zum Ausführen dieses Beispiels fügen Sie den Code in ein Windows Form-Formular ein, und rufen Sie die Methode aus dem Konstruktor oder InitializeControlsAndData der Load Ereignisbehandlungsmethode des Formulars 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 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
Hinweise
Verwenden Sie diese Überladung, wenn die BindingManagerBase Gruppe von Binding Objekten verwaltet wird, für die die Datenquelle mehrere Objekte enthält. Beispielsweise kann ein DataSet Objekt mehrere DataTable Objekte enthalten, die durch Objekte verknüpft sind DataRelation . In einem solchen Fall ist der Navigationspfad erforderlich, um die BindingContext Rückgabe des richtigen BindingManagerBase.
Note
Die Item[] Eigenschaft gibt immer ein BindingManagerBase, wenn der dataMember Parameter gültig ist. Es wird niemals zurückgegeben null.
Eine Liste möglicher Datenquellen und Informationen zum Erstellen von Bindungen zwischen Steuerelementen und Datenquellen finden Sie in der Binding Klasse.
Wenn die gewünschte BindingManagerBase Liste verwaltet wird, muss der Navigationspfad auch mit einer Liste enden. Der folgende C#-Code bindet z. B. ein TextBox Steuerelement an das Bestelldatum in einer Tabelle mit Bestellungen. Der Navigationspfad enthält die TableName, die RelationName, und die .ColumnName Dies BindingManagerBase muss jedoch nur mit dem TableName und RelationName (der in eine Liste aufgelöst wird) abgerufen werden.
// 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 BindingManagerBaseDatenquelle sollten Sie dieselbe Datenquelle wie den Binding Navigationspfad verwenden und nur den Navigationspfad ändern.
Verwenden Sie die Contains Methode, um festzustellen, ob die gewünschte BindingManagerBase bereits vorhanden ist.
Weitere Informationen
Gilt für:
Item[Object]
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
- Quelle:
- BindingContext.cs
Ruft ab, der BindingManagerBase der angegebenen Datenquelle zugeordnet ist.
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
Parameter
- dataSource
- Object
Die Datenquelle, die einer bestimmten BindingManagerBaseDatenquelle zugeordnet ist.
Eigenschaftswert
A BindingManagerBase für die angegebene Datenquelle.
Beispiele
Im folgenden Codebeispiel werden drei BindingManagerBase Objekte zurückgegeben: eines für ein , eines DataViewfür ein ArrayListUnd eines für das DataSource Steuerelement Binding , das zu einem TextBox Steuerelement gehört.
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
Hinweise
Verwenden Sie diese Überladung, wenn der BindingManagerBase gewünschte Navigationspfad nicht erforderlich ist. Wenn beispielsweise eine BindingManagerBase Gruppe von Binding Objekten verwaltet wird, die einen ArrayList oder DataTable als Navigationspfad DataSourceverwenden, ist kein Navigationspfad erforderlich.
Note
Die Item[] Eigenschaft gibt immer ein BindingManagerBase, und nie zurückgeben null.
Eine Liste möglicher Datenquellen und Informationen zum Erstellen von Bindungen zwischen Steuerelementen und Datenquellen finden Sie in der Binding Klasse.