BindingContext.Item[] Propriété

Définition

Obtient un BindingManagerBase.

Surcharges

Nom Description
Item[Object, String]

Obtient un BindingManagerBase élément associé à la source de données et au membre de données spécifiés.

Item[Object]

Obtient l’élément BindingManagerBase associé à la source de données spécifiée.

Item[Object, String]

Source:
BindingContext.cs
Source:
BindingContext.cs
Source:
BindingContext.cs
Source:
BindingContext.cs
Source:
BindingContext.cs

Obtient un BindingManagerBase élément associé à la source de données et au membre de données spécifiés.

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

Paramètres

dataSource
Object

Source de données associée à un particulier BindingManagerBase.

dataMember
String

Chemin de navigation contenant les informations qui se résolvent en un chemin d’accès spécifique BindingManagerBase.

Valeur de propriété

Pour BindingManagerBase la source de données et le membre de données spécifiés.

Exceptions

L’élément spécifié dataMember n’existe pas dans la source de données.

Exemples

L’exemple de code suivant montre comment utiliser l’élément Item[] pour récupérer la BindingManagerBase liaison particulière. Il montre également comment gérer l’événement BindingComplete pour BindingManagerBase s’assurer que plusieurs contrôles liés à la même source de données restent synchronisés quand l’une des valeurs de contrôle est modifiée. Pour exécuter cet exemple, collez le code dans un Windows Form et appelez la InitializeControlsAndData méthode à partir du constructeur ou Load de la méthode de gestion des événements du formulaire.

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 le BindingManagerBase groupe gère un ensemble d’objets pour lesquels la source de Binding données contient plusieurs objets. Par exemple, un DataSet peut contenir plusieurs DataTable objets liés par DataRelation des objets. Dans ce cas, le chemin de navigation est requis pour permettre le BindingContext retour correct BindingManagerBase.

Note

La Item[] propriété retourne toujours un BindingManagerBase, lorsque le dataMember paramètre est valide. Il ne reviendra nulljamais .

Consultez la Binding classe pour obtenir 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.

Si le souhaité BindingManagerBase gère une liste, le chemin de navigation doit également se terminer par une liste. Par exemple, le code C# suivant lie un TextBox contrôle à la date d’ordre dans une table de commandes. Le chemin de navigation inclut le TableName, le RelationNameet le ColumnName. Toutefois, il BindingManagerBase doit être récupéré à l’aide uniquement de l’élément TableName et RelationName (qui se résout en liste).

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

Lorsque vous retournez un BindingManagerBase, vous devez utiliser la même source de données que le Binding chemin de navigation et le modifier uniquement.

Utilisez la Contains méthode pour déterminer si le souhaité BindingManagerBase existe déjà.

Voir aussi

S’applique à

Item[Object]

Source:
BindingContext.cs
Source:
BindingContext.cs
Source:
BindingContext.cs
Source:
BindingContext.cs
Source:
BindingContext.cs

Obtient l’élément BindingManagerBase associé à la source de données spécifiée.

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

Source de données associée à un particulier BindingManagerBase.

Valeur de propriété

Pour BindingManagerBase la source de données spécifiée.

Exemples

L’exemple de code suivant retourne trois BindingManagerBase objets : un pour un DataView, un pour un ArrayListet un pour l’un DataSource d’un Binding qui appartient à un TextBox contrôle.

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 chemin de navigation souhaité ne nécessite pas de chemin de navigation. Par exemple, si l’ensemble BindingManagerBase d’objets qui utilisent un Binding ou ArrayList comme chemin DataTablede navigation, aucun chemin de DataSource navigation n’est requis.

Note

La Item[] propriété retourne toujours un BindingManagerBase, et ne retourne nulljamais .

Consultez la Binding classe pour obtenir 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.

Voir aussi

S’applique à