BindingContext.Item[] Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá .BindingManagerBase
Přetížení
| Name | Description |
|---|---|
| Item[Object, String] |
BindingManagerBase Získá, který je přidružen k zadanému zdroji dat a členu dat. |
| Item[Object] |
BindingManagerBase Získá, který je přidružen k zadanému zdroji dat. |
Item[Object, String]
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
BindingManagerBase Získá, který je přidružen k zadanému zdroji dat a členu dat.
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
Parametry
- dataSource
- Object
Zdroj dat přidružený k určitému BindingManagerBase.
- dataMember
- String
Navigační cesta obsahující informace, které se přeloží na konkrétní BindingManagerBase.
Hodnota vlastnosti
Pro BindingManagerBase zadaný zdroj dat a člen dat.
Výjimky
dataMember Zadaný zdroj dat neexistuje.
Příklady
Následující příklad kódu ukazuje, jak použít Item[] k načtení konkrétní vazby BindingManagerBase . Ukazuje také, jak zpracovat BindingComplete událost, BindingManagerBase aby se zajistilo, že při změně jedné z hodnot ovládacího prvku zůstane synchronizováno více ovládacích prvků vázaných na stejný zdroj dat. Pokud chcete tento příklad spustit, vložte kód do formuláře Windows a volejte metodu InitializeControlsAndData z konstruktoru formuláře nebo Load metody zpracování událostí.
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
Poznámky
Toto přetížení použijte, pokud BindingManagerBase spravuje sadu Binding objektů, pro které zdroj dat obsahuje více objektů. Například DataSet může obsahovat několik DataTable objektů propojených objekty DataRelation . V takovém případě je nutné, aby navigační cesta mohla BindingContext vrátit správnou hodnotu BindingManagerBase.
Note
Vlastnost Item[] vždy vrátí BindingManagerBasehodnotu , pokud dataMember je parametr platný. Nikdy se nevrátí null.
Seznam možných zdrojů dat a informace o vytváření vazeb mezi ovládacími prvky a zdroji dat najdete ve Binding třídě.
Pokud požadovaný BindingManagerBase seznam spravuje, musí navigační cesta končit také seznamem. Například následující kód jazyka C# vytvoří vazbu TextBox ovládacího prvku na datum objednávky v tabulce objednávek. Navigační cesta zahrnuje TableName, RelationName, a ColumnName. BindingManagerBase Musí se ale načíst pouze TableName pomocí seznamu a RelationName (který se přeloží na seznam).
// 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"];
Při návratu BindingManagerBasebyste měli použít stejný zdroj dat jako Binding a upravit pouze navigační cestu.
Použijte metodu Contains k určení, zda požadovaná BindingManagerBase již existuje.
Viz také
Platí pro
Item[Object]
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
- Zdroj:
- BindingContext.cs
BindingManagerBase Získá, který je přidružen k zadanému zdroji dat.
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
Parametry
- dataSource
- Object
Zdroj dat přidružený k určitému BindingManagerBase.
Hodnota vlastnosti
A BindingManagerBase pro zadaný zdroj dat.
Příklady
Následující příklad kódu vrátí tři BindingManagerBase objekty: jeden pro , jeden pro DataViewa ArrayListjeden pro DataSource prvek Binding , který patří do TextBox ovládacího prvku.
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
Poznámky
Toto přetížení použijte, pokud BindingManagerBase požadovaná cesta nevyžaduje navigační cestu. Pokud BindingManagerBase například spravuje sadu Binding objektů, které používají ArrayList nebo DataTable jako DataSource, není nutná žádná navigační cesta.
Note
Vlastnost Item[] vždy vrátí hodnotu BindingManagerBasea nikdy se nevrátí null.
Seznam možných zdrojů dat a informace o vytváření vazeb mezi ovládacími prvky a zdroji dat najdete ve Binding třídě.