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

Définition

Surcharges

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

Obtient un BindingManagerBase qui est associé aux sources de données et données membres spécifiées.Gets a BindingManagerBase that is associated with the specified data source and data member.

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

Obtient le BindingManagerBase qui est associé à la source de données spécifiée.Gets the BindingManagerBase that is associated with the specified data source.

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

Obtient un BindingManagerBase qui est associé aux sources de données et données membres spécifiées.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

Paramètres

dataSource
Object Object Object Object

Source de données associée à un BindingManagerBase particulier.The data source associated with a particular BindingManagerBase.

dataMember
String String String String

Chemin de navigation contenant les informations qui conduisent à un BindingManagerBase spécifique.A navigation path containing the information that resolves to a specific BindingManagerBase.

Valeur de propriété

BindingManagerBase pour les sources de données et données membres spécifiées.The BindingManagerBase for the specified data source and data member.

Exceptions

Le dataMember spécifié n'existe pas dans la source de données.The specified dataMember does not exist within the data source.

Exemples

L’exemple de code suivant montre comment utiliser Item[Object] pour récupérer le BindingManagerBase pour une liaison particulière.The following code example demonstrates how to use the Item[Object] to retrieve the BindingManagerBase for a particular binding. Il montre également comment gérer l' BindingComplete événement pour le BindingManagerBase pour garantir que plusieurs contrôles liés à la même source de données restent synchronisés lorsque l’une des valeurs de contrôle est modifiée.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. Pour exécuter cet exemple, collez le code dans un Windows Form et appelez InitializeControlsAndData la méthode à partir du constructeur du Load formulaire ou de la méthode de gestion d’événements.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 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

Remarques

Utilisez cette surcharge lorsque BindingManagerBase gère un jeu d' Binding objets pour lequel la source de données contient plusieurs objets.Use this overload when the BindingManagerBase manages a set of Binding objects for which the data source contains multiple objects. Par exemple, un DataSet peut contenir plusieurs DataTable objets liés par DataRelation des objets.For example, a DataSet can contain several DataTable objects linked by DataRelation objects. Dans ce cas, le chemin de navigation est requis pour permettre BindingContext au de retourner le correct. BindingManagerBaseIn such a case, the navigation path is required to enable the BindingContext to return the correct BindingManagerBase.

Notes

La Item[Object] propriété retourne toujours un BindingManagerBase, lorsque le dataMember paramètre est valide.The Item[Object] property will always return a BindingManagerBase, when the dataMember parameter is valid. Elle ne retourne nulljamais.It will never return null.

Pour obtenir Binding la liste des sources de données possibles et pour plus d’informations sur la création de liaisons entre les contrôles et les sources de données, consultez la classe.See the Binding class for a list of possible data sources and for information about creating bindings between controls and data sources.

Si le souhaité BindingManagerBase gère une liste, le chemin de navigation doit également se terminer par une liste.If the desired BindingManagerBase manages a list, the navigation path must also end with a list. Par exemple, le code C# suivant lie un TextBox contrôle à la date de commande dans une table de commandes.For example, the following C# code binds a TextBox control to the order date in a table of orders. Le chemin de navigation comprend TableName RelationName, et ColumnName.The navigation path includes the TableName, the RelationName, and the ColumnName. Toutefois, le BindingManagerBase doit être récupéré en utilisant TableName uniquement et RelationName (qui correspond à une liste).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"];  

Lors du retour BindingManagerBased’un, vous devez utiliser la même source de Binding données que et modifier uniquement le chemin de navigation.When returning a BindingManagerBase, you should use the same data source as the Binding and modify only the navigation path.

Utilisez la Contains méthode pour déterminer si le souhaité BindingManagerBase existe déjà.Use the Contains method to determine if the desired BindingManagerBase already exists.

Voir aussi

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

Obtient le BindingManagerBase qui est associé à la source de données spécifiée.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

Paramètres

dataSource
Object Object Object Object

Source de données associée à un BindingManagerBase particulier.The data source associated with a particular BindingManagerBase.

Valeur de propriété

BindingManagerBase pour la source de données spécifiée.A BindingManagerBase for the specified data source.

Exemples

L’exemple de code suivant retourne BindingManagerBase trois objets : un pour DataViewun, ArrayListun pour un et un pour le DataSource d’un Binding qui appartient à un TextBox contrôle.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

Remarques

Utilisez cette surcharge si le BindingManagerBase souhaité ne requiert pas de chemin de navigation.Use this overload if the BindingManagerBase you want does not require a navigation path. Par exemple BindingManagerBase , si gère un ensemble d’objets qui DataSourceutilisent ArrayList ou DataTable comme, aucun chemin de Binding navigation n’est requis.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.

Notes

La Item[Object] propriété retourne toujours un BindingManagerBaseet ne retourne nulljamais.The Item[Object] property will always return a BindingManagerBase, and never return null.

Pour obtenir Binding la liste des sources de données possibles et pour plus d’informations sur la création de liaisons entre les contrôles et les sources de données, consultez la classe.See the Binding class for a list of possible data sources and for information about creating bindings between controls and data sources.

Voir aussi

S’applique à