BindingContext コンストラクタ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
解説
同じデータ ソースに対して複数の BindingManagerBase インスタンスが必要な場合は、新しい BindingContext を作成し、それを Control から継承されるオブジェクトの BindingContext プロパティに設定します。たとえば、2 つの異なる BindingContext オブジェクトが管理する 2 つの BindingManagerBase がある場合、各 BindingManagerBase の Position プロパティを別々の値に設定できます。これにより、データ バインド コントロールの各セットに、同じデータ ソースからの異なる値が表示されます。
2 つの新しい BindingContext オブジェクトを作成し、各オブジェクトを GroupBox コントロールの BindingContext プロパティに割り当てるコード例を次に示します。GroupBox1 には TextBox1 が格納され、GroupBox2 には TextBox2 が格納されます。この処理には、Control.ControlCollection クラスの AddRange メソッドが使用されます。さらに、この例では、Binding オブジェクトを 2 つの TextBox コントロールに追加し、各コントロールを同じデータ ソースおよび同じデータ メンバにバインドしています。また、GroupBox コントロールで BindingContext を使用して、異なる BindingManagerBase オブジェクトの Position プロパティを設定する 2 つのイベント ハンドラも示しています。
Private Sub BindControls() Dim bcG1 As New BindingContext() Dim bcG2 As New BindingContext() groupBox1.BindingContext = bcG1 groupBox2.BindingContext = bcG2 textBox1.DataBindings.Add("Text", ds, "Customers.CustName") textBox2.DataBindings.Add("Text", ds, "Customers.CustName") End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click groupBox1.BindingContext(ds, "Customers").Position += 1 End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click groupBox2.BindingContext(ds, "Customers").Position += 1 End Sub
private void BindControls() { BindingContext bcG1 = new BindingContext(); BindingContext bcG2 = new BindingContext(); groupBox1.BindingContext = bcG1; groupBox2.BindingContext = bcG2; textBox1.DataBindings.Add("Text", ds, "Customers.CustName"); textBox2.DataBindings.Add("Text", ds, "Customers.CustName"); } private void Button1_Click(object sender, EventArgs e) { groupBox1.BindingContext[ds, "Customers"].Position += 1; } private void Button2_Click(object sender, EventArgs e) { groupBox2.BindingContext[ds, "Customers"].Position += 1; }
void BindControls() { System::Windows::Forms::BindingContext^ bcG1 = gcnew System::Windows::Forms::BindingContext; System::Windows::Forms::BindingContext^ bcG2 = gcnew System::Windows::Forms::BindingContext; groupBox1->BindingContext = bcG1; groupBox2->BindingContext = bcG2; textBox1->DataBindings->Add( "Text", ds, "Customers.CustName" ); textBox2->DataBindings->Add( "Text", ds, "Customers.CustName" ); } void Button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ ) { groupBox1->BindingContext[ds, "Customers"]->Position = groupBox1->BindingContext[ds, "Customers"]->Position + 1; } void Button2_Click( Object^ /*sender*/, EventArgs^ /*e*/ ) { groupBox2->BindingContext[ds, "Customers"]->Position = groupBox2->BindingContext[ds, "Customers"]->Position + 1; }
private void BindControls() { BindingContext bcG1 = new BindingContext(); BindingContext bcG2 = new BindingContext(); groupBox1.set_BindingContext(bcG1); groupBox2.set_BindingContext(bcG2); textBox1.get_DataBindings().Add("Text", ds, "Customers.CustName"); textBox2.get_DataBindings().Add("Text", ds, "Customers.CustName"); } //BindControls private void button1_Click(Object sender, EventArgs e) { groupBox1.get_BindingContext().get_Item(ds, "Customers").set_Position (groupBox1.get_BindingContext().get_Item(ds, "Customers"). get_Position() + 1); } //button1_Click private void button2_Click(Object sender, EventArgs e) { groupBox2.get_BindingContext().get_Item(ds, "Customers").set_Position (groupBox2.get_BindingContext().get_Item(ds, "Customers"). get_Position() + 1); } //button2_Click
private function BindControls() { var bcG1 : System.Windows.Forms.BindingContext = new System.Windows.Forms.BindingContext; var bcG2 : System.Windows.Forms.BindingContext = new System.Windows.Forms.BindingContext; button1.BindingContext = bcG1; button2.BindingContext = bcG2; textBox1.DataBindings.Add(new Binding ("Text", ds, "customers.custName")); textBox2.DataBindings.Add(new Binding ("Text", ds, "customers.custName")); // Get the BindingManagerBase for the Customers table. bmCustomers = this.BindingContext [ds, "Customers"]; } private function Button1_Click(sender, e : EventArgs) { bmCustomers.Position += 1; } private function Button2_Click(sender, e : EventArgs) { bmCustomers.Position -= 1; }
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- BindingContext コンストラクタのページへのリンク