Bagikan melalui


BindingContext.Item[] Properti

Definisi

BindingManagerBaseMendapatkan .

Overload

Item[Object, String]

BindingManagerBase Mendapatkan yang terkait dengan sumber data dan anggota data yang ditentukan.

Item[Object]

BindingManagerBase Mendapatkan yang terkait dengan sumber data yang ditentukan.

Item[Object, String]

BindingManagerBase Mendapatkan yang terkait dengan sumber data dan anggota data yang ditentukan.

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

Parameter

dataSource
Object

Sumber data yang terkait dengan tertentu BindingManagerBase.

dataMember
String

Jalur navigasi yang berisi informasi yang diselesaikan ke tertentu BindingManagerBase.

Nilai Properti

BindingManagerBase untuk sumber data dan anggota data yang ditentukan.

Pengecualian

Yang ditentukan dataMember tidak ada dalam sumber data.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Item[] untuk mengambil BindingManagerBase untuk pengikatan tertentu. Ini juga menunjukkan cara menangani BindingComplete peristiwa untuk BindingManagerBase memastikan beberapa kontrol yang terikat ke sumber data yang sama tetap disinkronkan ketika salah satu nilai kontrol diubah. Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil InitializeControlsAndData metode dari konstruktor formulir atau Load metode penanganan peristiwa.

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

Keterangan

Gunakan kelebihan beban ini saat BindingManagerBase mengelola sekumpulan Binding objek yang sumber datanya berisi beberapa objek. Misalnya, DataSet dapat berisi beberapa DataTable objek yang ditautkan oleh DataRelation objek. Dalam kasus seperti itu, jalur navigasi diperlukan untuk mengaktifkan BindingContext untuk mengembalikan yang benar BindingManagerBase.

Catatan

Properti Item[] akan selalu mengembalikan BindingManagerBase, ketika dataMember parameter valid. Ini tidak akan pernah kembali null.

Binding Lihat kelas untuk daftar kemungkinan sumber data dan untuk informasi tentang membuat pengikatan antara kontrol dan sumber data.

Jika yang diinginkan BindingManagerBase mengelola daftar, jalur navigasi juga harus diakhir dengan daftar. Misalnya, kode C# berikut mengikat TextBox kontrol ke tanggal pesanan dalam tabel pesanan. Jalur navigasi mencakup TableName, RelationName, dan ColumnName. Namun, BindingManagerBase harus diambil hanya TableName menggunakan dan RelationName (yang diselesaikan ke daftar).

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

Saat mengembalikan BindingManagerBase, Anda harus menggunakan sumber data yang sama dengan Binding dan hanya memodifikasi jalur navigasi.

Contains Gunakan metode untuk menentukan apakah yang diinginkan BindingManagerBase sudah ada.

Lihat juga

Berlaku untuk

Item[Object]

BindingManagerBase Mendapatkan yang terkait dengan sumber data yang ditentukan.

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

Parameter

dataSource
Object

Sumber data yang terkait dengan tertentu BindingManagerBase.

Nilai Properti

A BindingManagerBase untuk sumber data yang ditentukan.

Contoh

Contoh kode berikut mengembalikan tiga BindingManagerBase objek: satu untuk , satu untuk DataViewArrayList, dan satu untuk DataSource dari Binding yang termasuk dalam TextBox kontrol.

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

Keterangan

Gunakan kelebihan beban ini jika BindingManagerBase Yang Anda inginkan tidak memerlukan jalur navigasi. Misalnya, jika BindingManagerBase mengelola sekumpulan Binding objek yang menggunakan ArrayList atau DataTable sebagai DataSource, tidak diperlukan jalur navigasi.

Catatan

Properti Item[] akan selalu mengembalikan BindingManagerBase, dan tidak pernah mengembalikan null.

Binding Lihat kelas untuk daftar kemungkinan sumber data dan untuk informasi tentang membuat pengikatan antara kontrol dan sumber data.

Lihat juga

Berlaku untuk