BindingContext.Item[] Eigenschap

Definitie

Krijgt een BindingManagerBase.

Overloads

Name Description
Item[Object, String]

Hiermee haalt u een BindingManagerBase op die is gekoppeld aan de opgegeven gegevensbron en het opgegeven gegevenslid.

Item[Object]

Hiermee haalt u de BindingManagerBase gegevens op die is gekoppeld aan de opgegeven gegevensbron.

Item[Object, String]

Hiermee haalt u een BindingManagerBase op die is gekoppeld aan de opgegeven gegevensbron en het opgegeven gegevenslid.

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

Parameters

dataSource
Object

De gegevensbron die is gekoppeld aan een bepaalde BindingManagerBase.

dataMember
String

Een navigatiepad met de informatie die wordt omgezet in een specifiek BindingManagerBasepad.

Waarde van eigenschap

De BindingManagerBase voor de opgegeven gegevensbron en het opgegeven gegevenslid.

Uitzonderingen

De opgegeven dataMember gegevensbron bestaat niet.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de Item[] code gebruikt om de BindingManagerBase voor een bepaalde binding op te halen. Ook ziet u hoe u de BindingComplete gebeurtenis voor de BindingManagerBase gebeurtenis kunt afhandelen om ervoor te zorgen dat meerdere besturingselementen die aan dezelfde gegevensbron zijn gebonden, gesynchroniseerd blijven wanneer een van de besturingswaarden wordt gewijzigd. Als u dit voorbeeld wilt uitvoeren, plakt u de code in een Windows Formulier en roept u de methode InitializeControlsAndData aan vanuit de constructor van het formulier of de methode Load gebeurtenisafhandeling.

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

Opmerkingen

Gebruik deze overbelasting wanneer een BindingManagerBase set Binding objecten wordt beheerd waarvoor de gegevensbron meerdere objecten bevat. Een kan bijvoorbeeld DataSet meerdere DataTable objecten bevatten die zijn gekoppeld aan DataRelation objecten. In dat geval is het navigatiepad vereist om het BindingContext juiste BindingManagerBasepad in te schakelen.

Note

De Item[] eigenschap retourneert altijd een BindingManagerBase, wanneer de dataMember parameter geldig is. Het zal nooit terugkeren null.

Zie de Binding klasse voor een lijst met mogelijke gegevensbronnen en voor informatie over het maken van bindingen tussen besturingselementen en gegevensbronnen.

Als de gewenste BindingManagerBase beheerder een lijst beheert, moet het navigatiepad ook eindigen met een lijst. Met de volgende C#-code wordt bijvoorbeeld een TextBox besturingselement gekoppeld aan de orderdatum in een tabel met orders. Het navigatiepad bevat de TableName, de RelationNameen de ColumnName. De BindingManagerBase moet echter worden opgehaald met alleen de TableName en RelationName (die wordt omgezet in een lijst).

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

Wanneer u een BindingManagerBaseretourneert, moet u dezelfde gegevensbron gebruiken als de Binding gegevensbron en alleen het navigatiepad wijzigen.

Gebruik de Contains methode om te bepalen of het gewenste BindingManagerBase al bestaat.

Zie ook

Van toepassing op

Item[Object]

Hiermee haalt u de BindingManagerBase gegevens op die is gekoppeld aan de opgegeven gegevensbron.

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

Parameters

dataSource
Object

De gegevensbron die is gekoppeld aan een bepaalde BindingManagerBase.

Waarde van eigenschap

A BindingManagerBase voor de opgegeven gegevensbron.

Voorbeelden

In het volgende codevoorbeeld worden drie BindingManagerBase objecten geretourneerd: één voor een DataView, een voor een ArrayListen een voor een DataSource besturingselement Binding dat deel uitmaakt van een TextBox besturingselement.

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

Opmerkingen

Gebruik deze overbelasting als u BindingManagerBase geen navigatiepad nodig hebt. Als de BindingManagerBase groep bijvoorbeeld een set Binding objecten beheert die een ArrayList of DataTable als het DataSourceobject gebruiken, is er geen navigatiepad vereist.

Note

De Item[] eigenschap retourneert altijd een BindingManagerBase, en retourneert nullnooit .

Zie de Binding klasse voor een lijst met mogelijke gegevensbronnen en voor informatie over het maken van bindingen tussen besturingselementen en gegevensbronnen.

Zie ook

Van toepassing op