BindingContext.Item[] Свойство

Определение

BindingManagerBaseВозвращает .

Перегрузки

Имя Описание
Item[Object, String]

BindingManagerBase Возвращает объект, связанный с указанным источником данных и элементом данных.

Item[Object]

BindingManagerBase Возвращает объект, связанный с указанным источником данных.

Item[Object, String]

Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs

BindingManagerBase Возвращает объект, связанный с указанным источником данных и элементом данных.

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

Параметры

dataSource
Object

Источник данных, связанный с определенным BindingManagerBase.

dataMember
String

Путь навигации, содержащий сведения, которые разрешаются определенному BindingManagerBaseобъекту.

Значение свойства

Для BindingManagerBase указанного источника данных и элемента данных.

Исключения

Указанный dataMember объект не существует в источнике данных.

Примеры

В следующем примере кода показано, как использовать Item[] для извлечения BindingManagerBase конкретной привязки. Кроме того, показано, как обрабатывать BindingComplete событие, BindingManagerBase чтобы обеспечить синхронизацию нескольких элементов управления, привязанных к одному источнику данных, при изменении одного из значений элемента управления. Чтобы запустить этот пример, вставьте код в Форму Windows Form и вызовите InitializeControlsAndData метод из конструктора формы или Load метода обработки событий.

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

Комментарии

Используйте эту перегрузку при BindingManagerBase управлении набором Binding объектов, для которых источник данных содержит несколько объектов. Например, может DataSet содержать несколько DataTable объектов, связанных с объектами DataRelation . В таком случае для возврата правильного BindingContextпути навигации требуется BindingManagerBase путь навигации.

Note

Свойство Item[] всегда возвращает BindingManagerBaseзначение, если dataMember параметр действителен. Он никогда не вернется null.

См. Binding класс для списка возможных источников данных и сведения о создании привязок между элементами управления и источниками данных.

Если нужное BindingManagerBase управление списком, путь навигации также должен заканчиваться списком. Например, следующий код C# привязывает TextBox элемент управления к дате заказа в таблице заказов. Путь навигации включает TableName, а RelationNameтакже ColumnName. BindingManagerBase Однако его необходимо извлечь только с помощью и TableNameRelationName (который разрешается в список).

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

При возвращении BindingManagerBaseнеобходимо использовать тот же источник данных, что Binding и путь навигации.

Contains Используйте метод, чтобы определить, существует ли требуемое BindingManagerBase значение.

См. также раздел

Применяется к

Item[Object]

Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs
Исходный код:
BindingContext.cs

BindingManagerBase Возвращает объект, связанный с указанным источником данных.

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

Параметры

dataSource
Object

Источник данных, связанный с определенным BindingManagerBase.

Значение свойства

A BindingManagerBase для указанного источника данных.

Примеры

В следующем примере кода возвращаются три BindingManagerBase объекта: один для DataViewэлемента управления , один для ArrayListэлемента управления и один для DataSourceBindingTextBox элемента управления.

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

Комментарии

Используйте эту перегрузку, BindingManagerBase если вам не нужен путь навигации. Например, если управление BindingManagerBase набором Binding объектов, использующих ArrayList или DataTable в качестве DataSourceпути навигации, не требуется.

Note

Свойство Item[] всегда возвращает значение BindingManagerBaseи никогда не возвращается null.

См. Binding класс для списка возможных источников данных и сведения о создании привязок между элементами управления и источниками данных.

См. также раздел

Применяется к