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

定義

オーバーロード

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

指定したデータ ソースおよびデータ メンバーに関連付けられた BindingManagerBase を取得します。Gets a BindingManagerBase that is associated with the specified data source and data member.

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

指定したデータ ソースに関連付けられた BindingManagerBase を取得します。Gets the BindingManagerBase that is associated with the specified data source.

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

指定したデータ ソースおよびデータ メンバーに関連付けられた BindingManagerBase を取得します。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

パラメーター

dataSource
Object Object Object Object

特定の BindingManagerBase に関連付けられたデータ ソース。The data source associated with a particular BindingManagerBase.

dataMember
String String String String

特定の BindingManagerBase に解決される情報を保持するナビゲーション パス。A navigation path containing the information that resolves to a specific BindingManagerBase.

プロパティ値

指定したデータ ソースおよびデータ メンバーの BindingManagerBaseThe BindingManagerBase for the specified data source and data member.

例外

指定された dataMember がデータ ソース内に存在しません。The specified dataMember does not exist within the data source.

次のコード例は、 Item[Object]を使用して、特定のバインディングBindingManagerBaseのを取得する方法を示しています。The following code example demonstrates how to use the Item[Object] to retrieve the BindingManagerBase for a particular binding. また、コントロールのいずれかのBindingComplete値が変更BindingManagerBaseされた場合に、同じデータソースにバインドされた複数のコントロールが同期したままになるように、のイベントを処理する方法についても示します。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. この例を実行するには、Windows フォームにコードを貼り付けInitializeControlsAndData 、フォームのコンストラクターまたはLoadイベント処理メソッドからメソッドを呼び出します。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

注釈

データソースに複数のBindingManagerBaseオブジェクトが含まれBindingているオブジェクトのセットをが管理する場合は、このオーバーロードを使用します。Use this overload when the BindingManagerBase manages a set of Binding objects for which the data source contains multiple objects. たとえば、にはDataSet 、オブジェクトにDataTableよってDataRelationリンクされた複数のオブジェクトを含めることができます。For example, a DataSet can contain several DataTable objects linked by DataRelation objects. このような場合は、が正しいBindingContext BindingManagerBaseを返すことができるように、ナビゲーションパスが必要です。In such a case, the navigation path is required to enable the BindingContext to return the correct BindingManagerBase.

注意

パラメーターが有効な場合BindingManagerBase Item[Object] 、プロパティは常にをdataMember返します。The Item[Object] property will always return a BindingManagerBase, when the dataMember parameter is valid. 返さnullれることはありません。It will never return null.

使用可能なデータソースの一覧については、クラスを参照してください。また、コントロールとデータソース間のバインドの作成については、「」を参照してください。BindingSee the Binding class for a list of possible data sources and for information about creating bindings between controls and data sources.

必要BindingManagerBaseながリストを管理している場合は、ナビゲーションパスもリストで終了する必要があります。If the desired BindingManagerBase manages a list, the navigation path must also end with a list. たとえば、次C#のコードでは、 TextBox注文のテーブルの注文日にコントロールをバインドしています。For example, the following C# code binds a TextBox control to the order date in a table of orders. ナビゲーションパスには、 TableName、、 RelationNameおよびColumnNameが含まれます。The navigation path includes the TableName, the RelationName, and the ColumnName. ただし、はBindingManagerBaseTableNameおよびRelationName (リストに解決される) のみを使用して取得する必要があります。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"];  

を返すBindingManagerBase場合は、と同じデータソースBindingを使用し、ナビゲーションパスのみを変更する必要があります。When returning a BindingManagerBase, you should use the same data source as the Binding and modify only the navigation path.

Contains 目的BindingManagerBaseのが既に存在するかどうかを判断するには、メソッドを使用します。Use the Contains method to determine if the desired BindingManagerBase already exists.

こちらもご覧ください

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

指定したデータ ソースに関連付けられた BindingManagerBase を取得します。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

パラメーター

dataSource
Object Object Object Object

特定の BindingManagerBase に関連付けられたデータ ソース。The data source associated with a particular BindingManagerBase.

プロパティ値

指定したデータ ソースの BindingManagerBaseA BindingManagerBase for the specified data source.

次のコード例ではBindingManagerBase DataView ArrayList Binding TextBox 、3つのオブジェクトが返されます。1つは、1つは、もう1つはコントロールに属するのです。DataSourceThe 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

注釈

必要ながナビゲーションパスBindingManagerBaseを必要としない場合は、このオーバーロードを使用します。Use this overload if the BindingManagerBase you want does not require a navigation path. たとえばBindingManagerBase 、がArrayListまたはBindingDataTable 使用するオブジェクトのセットをとして管理している場合、ナビゲーションパスは必要DataSourceありません。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.

注意

プロパティは常にをBindingManagerBase返し、を返しnullません。 Item[Object]The Item[Object] property will always return a BindingManagerBase, and never return null.

使用可能なデータソースの一覧については、クラスを参照してください。また、コントロールとデータソース間のバインドの作成については、「」を参照してください。BindingSee the Binding class for a list of possible data sources and for information about creating bindings between controls and data sources.

こちらもご覧ください

適用対象