BindingContext.Item[] Vlastnost

Definice

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ě.

Viz také

Platí pro