BindingContext.Item[] Propriedade

Definição

Obtém um BindingManagerBase.

Sobrecargas

Nome Description
Item[Object, String]

Obtém um BindingManagerBase associado à fonte de dados e ao membro de dados especificados.

Item[Object]

Obtém o BindingManagerBase que está associado à fonte de dados especificada.

Item[Object, String]

Origem:
BindingContext.cs
Origem:
BindingContext.cs
Origem:
BindingContext.cs
Origem:
BindingContext.cs
Origem:
BindingContext.cs

Obtém um BindingManagerBase associado à fonte de dados e ao membro de dados especificados.

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

Parâmetros

dataSource
Object

A fonte de dados associada a um determinado BindingManagerBase.

dataMember
String

Um caminho de navegação que contém as informações que são resolvidas para um determinado BindingManagerBase.

Valor da propriedade

Para BindingManagerBase a fonte de dados e o membro de dados especificados.

Exceções

O especificado dataMember não existe dentro da fonte de dados.

Exemplos

O exemplo de código a seguir demonstra como usar o Item[] para recuperar uma BindingManagerBase associação específica. Ele também mostra como lidar com o BindingComplete evento para BindingManagerBase garantir que vários controles associados à mesma fonte de dados permaneçam sincronizados quando um dos valores de controle é alterado. Para executar este exemplo, cole o código em um Formulário do Windows e chame o InitializeControlsAndData método do construtor do formulário ou Load do método de tratamento de eventos.

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

Comentários

Use essa sobrecarga quando o conjunto de objetos para o BindingManagerBase qual a fonte de Binding dados contém vários objetos. Por exemplo, um DataSet pode conter vários DataTable objetos vinculados por DataRelation objetos. Nesse caso, o caminho de navegação é necessário para habilitar o BindingContext retorno correto BindingManagerBase.

Note

A Item[] propriedade sempre retornará um BindingManagerBase, quando o dataMember parâmetro for válido. Ele nunca vai voltar null.

Consulte a Binding classe para obter uma lista de possíveis fontes de dados e para obter informações sobre como criar associações entre controles e fontes de dados.

Se o desejado BindingManagerBase gerenciar uma lista, o caminho de navegação também deverá terminar com uma lista. Por exemplo, o código C# a seguir associa um TextBox controle à data do pedido em uma tabela de pedidos. O caminho de navegação inclui o TableName, o RelationNamee o ColumnName. No entanto, o BindingManagerBase deve ser recuperado usando apenas o TableName e RelationName (que é resolvido para uma lista).

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

Ao retornar uma BindingManagerBasefonte de dados, você deve usar a mesma fonte Binding de dados e modificar apenas o caminho de navegação.

Use o Contains método para determinar se o desejado BindingManagerBase já existe.

Confira também

Aplica-se a

Item[Object]

Origem:
BindingContext.cs
Origem:
BindingContext.cs
Origem:
BindingContext.cs
Origem:
BindingContext.cs
Origem:
BindingContext.cs

Obtém o BindingManagerBase que está associado à fonte de dados especificada.

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

Parâmetros

dataSource
Object

A fonte de dados associada a um determinado BindingManagerBase.

Valor da propriedade

A BindingManagerBase para a fonte de dados especificada.

Exemplos

O exemplo de código a seguir retorna três BindingManagerBase objetos: um para um DataView, um para um ArrayListe outro para um DataSourceBinding que pertence a um TextBox controle.

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

Comentários

Use essa sobrecarga se o BindingManagerBase que você deseja não exigir um caminho de navegação. Por exemplo, se o BindingManagerBase conjunto de Binding objetos que usam um ArrayList ou DataTable como o DataSourcecaminho de navegação, nenhum caminho de navegação será necessário.

Note

A Item[] propriedade sempre retornará um BindingManagerBasee nunca retornará null.

Consulte a Binding classe para obter uma lista de possíveis fontes de dados e para obter informações sobre como criar associações entre controles e fontes de dados.

Confira também

Aplica-se a