BindingContext.Item[Object] BindingContext.Item[Object] BindingContext.Item[Object] BindingContext.Item[Object] Property

Definición

Sobrecargas

Item[Object, String] Item[Object, String] Item[Object, String] Item[Object, String]

Obtiene un objeto BindingManagerBase asociado al origen de datos y miembro de datos especificados.Gets a BindingManagerBase that is associated with the specified data source and data member.

Item[Object] Item[Object] Item[Object] Item[Object]

Obtiene el objeto BindingManagerBase asociado al origen de datos especificado.Gets the BindingManagerBase that is associated with the specified data source.

Item[Object, String] Item[Object, String] Item[Object, String] Item[Object, String]

Obtiene un objeto BindingManagerBase asociado al origen de datos y miembro de datos especificados.Gets a BindingManagerBase that is associated with the specified data source and data member.

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; }
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 Object Object Object

Origen de datos asociado a un objeto BindingManagerBase determinado.The data source associated with a particular BindingManagerBase.

dataMember
String String String String

Ruta de navegación que contiene la información que se resuelve en un objeto BindingManagerBase específico.A navigation path containing the information that resolves to a specific BindingManagerBase.

Valor de propiedad

Objeto BindingManagerBase para el origen de datos y miembro de datos especificados.The BindingManagerBase for the specified data source and data member.

Excepciones

El elemento dataMember especificado no existe dentro del origen de datos.The specified dataMember does not exist within the data source.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el Item[Object] para recuperar el BindingManagerBase para un enlace determinado.The following code example demonstrates how to use the Item[Object] to retrieve the BindingManagerBase for a particular binding. También muestra cómo controlar el BindingComplete eventos para el BindingManagerBase para garantizar que varios controles enlazados al mismo origen de datos permanezcan sincronizados cuando cambia uno de los valores del control.It also shows how to handle the BindingComplete event for the BindingManagerBase to ensure multiple controls bound to the same data source remain synchronized when one of the control values is changed. Para ejecutar este ejemplo, pegue el código en un formulario de Windows y llamar a la InitializeControlsAndData método desde el constructor del formulario o Load el método de control de eventos.To run this example, paste the code into a Windows Form and call the InitializeControlsAndData method from the form's constructor or Load event-handling method.

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(); ;
}
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 occured.
    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

Comentarios

Utilice esta sobrecarga cuando la BindingManagerBase administra un conjunto de Binding objetos para el que el origen de datos contiene varios objetos.Use this overload when the BindingManagerBase manages a set of Binding objects for which the data source contains multiple objects. Por ejemplo, un DataSet puede contener varios DataTable objetos vinculados por DataRelation objetos.For example, a DataSet can contain several DataTable objects linked by DataRelation objects. En tal caso, se requiere la ruta de navegación para habilitar el BindingContext para devolver el valor correcto BindingManagerBase.In such a case, the navigation path is required to enable the BindingContext to return the correct BindingManagerBase.

Nota

El Item[Object] propiedad siempre devolverá un BindingManagerBase, cuando el dataMember parámetro es válido.The Item[Object] property will always return a BindingManagerBase, when the dataMember parameter is valid. Nunca devolverá null.It will never return null.

Consulte la Binding (clase) para obtener una lista de posibles orígenes de datos y para obtener información acerca de cómo crear enlaces entre los controles y orígenes de datos.See the Binding class for a list of possible data sources and for information about creating bindings between controls and data sources.

Si desea BindingManagerBase administra una lista, la ruta de navegación también debe terminar con una lista.If the desired BindingManagerBase manages a list, the navigation path must also end with a list. Por ejemplo, el código de C# siguiente se enlaza un TextBox control a la fecha de pedido en una tabla de pedidos.For example, the following C# code binds a TextBox control to the order date in a table of orders. La ruta de navegación incluye el TableName, el RelationNamey el ColumnName.The navigation path includes the TableName, the RelationName, and the ColumnName. Sin embargo, el BindingManagerBase se deben recuperar usando sólo el TableName y RelationName (que se resuelve en una lista).However, the BindingManagerBase must be retrieved using only the TableName and RelationName (which resolves to a list).

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

Al devolver un BindingManagerBase, debe usar el mismo origen de datos que la Binding y modificar solo la ruta de navegación.When returning a BindingManagerBase, you should use the same data source as the Binding and modify only the navigation path.

Use la Contains método para determinar si desea BindingManagerBase ya existe.Use the Contains method to determine if the desired BindingManagerBase already exists.

Consulte también:

Item[Object] Item[Object] Item[Object] Item[Object]

Obtiene el objeto BindingManagerBase asociado al origen de datos especificado.Gets the BindingManagerBase that is associated with the specified data source.

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 Object Object Object

Origen de datos asociado a un objeto BindingManagerBase determinado.The data source associated with a particular BindingManagerBase.

Valor de propiedad

Objeto BindingManagerBase del origen de datos especificado.A BindingManagerBase for the specified data source.

Ejemplos

El ejemplo de código siguiente devuelve tres BindingManagerBase objetos: uno para un DataView, uno para un ArrayListy otro para el DataSource de un Binding que pertenece a un TextBox control.The following code example returns three BindingManagerBase objects: one for a DataView, one for an ArrayList, and one for the DataSource of a Binding that belongs to a TextBox control.

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

Comentarios

Utilice esta sobrecarga si el BindingManagerBase desea no requiere una ruta de navegación.Use this overload if the BindingManagerBase you want does not require a navigation path. Por ejemplo, si la BindingManagerBase administra un conjunto de Binding los objetos que utilizan un ArrayList o DataTable como el DataSource, se requiere ninguna ruta de navegación.For example, if the BindingManagerBase manages a set of Binding objects that use an ArrayList or DataTable as the DataSource, no navigation path is required.

Nota

El Item[Object] propiedad siempre devolverá un BindingManagerBasey nunca devuelven null.The Item[Object] property will always return a BindingManagerBase, and never return null.

Consulte la Binding (clase) para obtener una lista de posibles orígenes de datos y para obtener información acerca de cómo crear enlaces entre los controles y orígenes de datos.See the Binding class for a list of possible data sources and for information about creating bindings between controls and data sources.

Consulte también:

Se aplica a