Control.BindingContext プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Control.BindingContext プロパティの意味・解説 

Control.BindingContext プロパティ

コントロールの BindingContext を取得または設定します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Overridable Property
 BindingContext As BindingContext
Dim instance As Control
Dim value As BindingContext

value = instance.BindingContext

instance.BindingContext = value
public virtual BindingContext BindingContext { get;
 set; }
public:
virtual property BindingContext^ BindingContext {
    BindingContext^ get ();
    void set (BindingContext^ value);
}
/** @property */
public BindingContext get_BindingContext ()

/** @property */
public void set_BindingContext (BindingContext
 value)
public function get BindingContext
 () : BindingContext

public function set BindingContext
 (value : BindingContext)

プロパティ
コントロールBindingContext

解説解説
使用例使用例

4 つBinding オブジェクト作成して5 つコントロール (1 つの DateTimePicker コントロール4 つTextBox コントロール) を複数データ ソースバインドするコード例次に示します。さらに、BindingContext使用して、各データ ソースBindingManagerBase取得します

Protected Sub BindControls()

   ' Create two Binding objects for the first two TextBox 
   '   controls. The data-bound property for both controls 
   '   is the Text property. The data source is a DataSet 
   '   (ds). The data member is the string 
   '   "TableName.ColumnName".
   text1.DataBindings.Add(New Binding _
      ("Text", ds, "customers.custName"))
   text2.DataBindings.Add(New Binding _
      ("Text", ds, "customers.custID"))
   
   ' Bind the DateTimePicker control by adding a new Binding. 
   '   The data member of the DateTimePicker is a 
   '   TableName.RelationName.ColumnName string.
   DateTimePicker1.DataBindings.Add(New Binding _
      ("Value", ds, "customers.CustToOrders.OrderDate"))

   ' Add event delegates for the Parse and Format events to a 
   '   new Binding object, and add the object to the third 
   '   TextBox control's BindingsCollection. The delegates 
   '   must be added before adding the Binding to the 
   '   collection; otherwise, no formatting occurs until 
   '   the Current object of the BindingManagerBase for 
   '   the data source changes.
   Dim b As Binding = New
 Binding _
      ("Text", ds, "customers.custToOrders.OrderAmount")
   AddHandler b.Parse,  New ConvertEventHandler(AddressOf
 CurrencyStringToDecimal)      
   AddHandler b.Format, New ConvertEventHandler(AddressOf
 DecimalToCurrencyString)
   text3.DataBindings.Add(b)

   ' Get the BindingManagerBase for the Customers table.
   bmCustomers = Me.BindingContext(ds, "Customers")

   ' Get the BindingManagerBase for the Orders table using the 
   '   RelationName.
   bmOrders = Me.BindingContext(ds, "customers.CustToOrders")

   ' Bind the fourth TextBox control's Text property to the
   ' third control's Text property.
   text4.DataBindings.Add("Text", text3, "Text")

End Sub

protected void BindControls()
{
   /* Create two Binding objects for the first two TextBox 
      controls. The data-bound property for both controls 
      is the Text property. The data source is a DataSet 
      (ds). The data member is a navigation path in the form:
 
      "TableName.ColumnName". */
   text1.DataBindings.Add(new Binding
   ("Text", ds, "customers.custName"));
   text2.DataBindings.Add(new Binding
   ("Text", ds, "customers.custID"));
   
   /* Bind the DateTimePicker control by adding a new Binding.
 
      The data member of the DateTimePicker is a navigation path:
      TableName.RelationName.ColumnName string. */
   DateTimePicker1.DataBindings.Add(new 
   Binding("Value", ds, "customers.CustToOrders.OrderDate"));

   /* Add event delegates for the Parse and Format events to a
 
      new Binding object, and add the object to the third 
      TextBox control's BindingsCollection. The delegates 
      must be added before adding the Binding to the 
      collection; otherwise, no formatting occurs until 
      the Current object of the BindingManagerBase for 
      the data source changes. */
      Binding b = new Binding
      ("Text", ds, "customers.custToOrders.OrderAmount");
   b.Parse+=new ConvertEventHandler(CurrencyStringToDecimal);
   b.Format+=new ConvertEventHandler(DecimalToCurrencyString);
   text3.DataBindings.Add(b);

   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this.BindingContext [ds, "Customers"];

   /* Get the BindingManagerBase for the Orders table using
 the 
      RelationName. */ 
   bmOrders = this.BindingContext[ds, "customers.CustToOrders"];

   /* Bind the fourth TextBox control's Text property to the
   third control's Text property. */
   text4.DataBindings.Add("Text", text3, "Text");
}

void BindControls()
{
   /* Create two Binding objects for the first two TextBox 
         controls. The data-bound property for both controls 
         is the Text property. The data source is a DataSet 
         (ds). The data member is a navigation path in the form:
 
         "TableName.ColumnName". */
   text1->DataBindings->Add( gcnew Binding( "Text",ds,"customers.custName"
 ) );
   text2->DataBindings->Add( gcnew Binding( "Text",ds,"customers.custID"
 ) );

   /* Bind the DateTimePicker control by adding a new Binding.
 
         The data member of the DateTimePicker is a navigation path:
         TableName.RelationName.ColumnName string. */
   DateTimePicker1->DataBindings->Add( gcnew Binding( "Value",ds,"customers.CustToOrders.OrderDate"
 ) );

   /* Add event delegates for the Parse and Format events to a
 
         new Binding object, and add the object to the third 
         TextBox control's BindingsCollection. The delegates 
         must be added before adding the Binding to the 
         collection; otherwise, no formatting occurs until 
         the Current object of the BindingManagerBase for 
         the data source changes. */
   Binding^ b = gcnew Binding( "Text",ds,"customers.custToOrders.OrderAmount"
 );
   b->Parse += gcnew ConvertEventHandler( this, &Form1::CurrencyStringToDecimal
 );
   b->Format += gcnew ConvertEventHandler( this, &Form1::DecimalToCurrencyString
 );
   text3->DataBindings->Add( b );

   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this->BindingContext[ ds,"Customers"
 ];

   /* Get the BindingManagerBase for the Orders table using
 the 
         RelationName. */
   bmOrders = this->BindingContext[ds, "customers.CustToOrders"];

   /* Bind the fourth TextBox control's Text property to the
      third control's Text property. */
   text4->DataBindings->Add( "Text", text3, "Text" );
}
protected void BindControls()
{
    /* Create two Binding objects for the first two TextBox 
       controls. The data-bound property for both controls 
       is the Text property. The data source is a DataSet 
       (ds). The data member is a navigation path in the form:
 
       "TableName.ColumnName". 
     */
    text1.get_DataBindings().Add(new Binding("Text",
 ds, 
        "customers.custName"));
    text2.get_DataBindings().Add(new Binding("Text",
 ds, 
        "customers.custID"));

    /* Bind the DateTimePicker control by adding a new Binding.
 
       The data member of the DateTimePicker is a navigation path:
       TableName.RelationName.ColumnName string. 
     */
    dateTimePicker1.get_DataBindings().Add(new Binding("Value",
 ds, 
        "customers.CustToOrders.OrderDate"));

    /* Add event delegates for the Parse and Format events to a
 
       new Binding object, and add the object to the third 
       TextBox control's BindingsCollection. The delegates 
       must be added before adding the Binding to the 
       collection; otherwise, no formatting occurs until 
       the Current object of the BindingManagerBase for 
       the data source changes. 
     */
    Binding b = new Binding("Text", ds, 
        "customers.custToOrders.OrderAmount");

    b.add_Parse(new ConvertEventHandler(CurrencyStringToDecimal));
    b.add_Format(new ConvertEventHandler(DecimalToCurrencyString));
    text3.get_DataBindings().Add(b);

    // Get the BindingManagerBase for the Customers table. 
    bmCustomers = this.get_BindingContext().get_Item(ds, "Customers");

    /* Get the BindingManagerBase for the Orders table using
 the 
       RelationName. 
     */
    bmOrders = this.get_BindingContext().get_Item(ds, 
        "customers.CustToOrders");

    /* Bind the fourth TextBox control's Text property to the
       third control's Text property. 
     */
    text4.get_DataBindings().Add("Text", text3, "Text");
} //BindControls
  protected function BindControls()
  {
     /* Create two Binding objects for the first two TextBox 
        controls. The data-bound property for both controls 
        is the Text property. The data source is a DataSet 
        (ds). The data member is the string 
        "TableName.ColumnName". */
     text1.DataBindings.Add(new Binding
     ("Text", ds, "customers.custName"));
     text2.DataBindings.Add(new Binding
     ("Text", ds, "customers.custID"));
     
     /* Bind the DateTimePicker control by adding a new Binding.
 
        The data member of the DateTimePicker is a 
        TableName.RelationName.ColumnName string. */
     DateTimePicker1.DataBindings.Add(new 
     Binding("Value", ds, "customers.CustToOrders.OrderDate"));

     /* Add event delegates for the Parse and Format events to a
 
        new Binding object, and add the object to the third 
        TextBox control's BindingsCollection. The delegates 
        must be added before adding the Binding to the 
        collection; otherwise, no formatting occurs until 
        the Current object of the BindingManagerBase for 
        the data source changes. */
     var b : Binding = new Binding
        ("Text", ds, "customers.custToOrders.OrderAmount");
     b.add_Parse(CurrencyStringToDecimal);
     b.add_Format(DecimalToCurrencyString);
     text3.DataBindings.Add(b);

     // Get the BindingManagerBase for the Customers table. 
     bmCustomers = this.BindingContext [ds, "Customers"];

     /* Get the BindingManagerBase for the Orders table using
 the 
        RelationName. */ 
     bmOrders = this.BindingContext[ds, "customers.CustToOrders"];
  }

  private function DecimalToCurrencyString(sender,
 cevent : ConvertEventArgs)
  {
     /* This method is the Format event handler. Whenever the 
        control displays a new value, the value is converted from
 
        its native Decimal type to a string. The ToString method
 
        then formats the value as a Currency, by using the 
        formatting character "c". */

     // We can only convert to string type. 
     if(cevent.DesiredType != String.GetType()) return;

     cevent.Value = (Decimal(cevent.Value)).ToString("c");
  }

  private function CurrencyStringToDecimal(sender,
 cevent : ConvertEventArgs)
  {   
     /* This method is the Parse event-handler. The Parse event 
        occurs whenever the displayed value changes. The static
 
        ToDecimal method of the Convert class converts the 
        value back to its native Decimal type. */

     // Can only convert to Decimal type.
     if(cevent.DesiredType != Decimal.GetType()) return;

     cevent.Value = Decimal.Parse(cevent.Value.ToString(),
         NumberStyles.Currency, null);

     /* To see that no precision is lost, print the unformatted 
        value. For example, changing a value to "10.0001" 
        causes the control to display "10.00", but the 
        unformatted value remains "10.0001". */
     Console.WriteLine(cevent.Value);
  }

  protected function button1_Click(sender,
 e : System.EventArgs)
  {
     // Go to the previous item in the Customer list.
     bmCustomers.Position -= 1;
  }

  protected function button2_Click(sender,
 e : System.EventArgs)
  {
     // Go to the next item in the Customer list.
     bmCustomers.Position += 1;
  }
   
  protected function button3_Click(sender,
 e : System.EventArgs)
  {
     // Go to the previous item in the Orders list.
     bmOrders.Position-=1;
  }

  protected function button4_Click(sender,
 e : System.EventArgs)
  {
     // Go to the next item in the Orders list.
     bmOrders.Position+=1;
  }

  // Create a DataSet with two tables and populate it.
  private function MakeDataSet()
  {
     // Create a DataSet.
     ds = new DataSet("myDataSet");
     
     // Create two DataTables.
     var tCust : DataTable = new DataTable("Customers");
     var tOrders : DataTable= new DataTable("Orders");

     // Create two columns, and add them to the first table.
     var cCustID : DataColumn = new DataColumn("CustID",
 Int32);
     var cCustName : DataColumn = new DataColumn("CustName");
     tCust.Columns.Add(cCustID);
     tCust.Columns.Add(cCustName);

     // Create three columns, and add them to the second table.
     var cID : DataColumn  = 
        new DataColumn("CustID", Int32);
     var cOrderDate : DataColumn  = 
        new DataColumn("orderDate", DateTime);
     var cOrderAmount : DataColumn = 
        new DataColumn("OrderAmount", Decimal);
     tOrders.Columns.Add(cOrderAmount);
     tOrders.Columns.Add(cID);
     tOrders.Columns.Add(cOrderDate);

     // Add the tables to the DataSet.
     ds.Tables.Add(tCust);
     ds.Tables.Add(tOrders);

     // Create a DataRelation, and add it to the DataSet.
     var dr : DataRelation = new DataRelation
     ("custToOrders", cCustID , cID);
     ds.Relations.Add(dr);
  
     /* Populate the tables. For each customer and order, 
        create need two DataRow variables. */
     var newRow1 : DataRow;
     var newRow2 : DataRow;

     // Create three customers in the Customers Table.
     for(var i : int = 1;
 i < 4; i++)
     {
        newRow1 = tCust.NewRow();
        newRow1["custID"] = i;
        // Add the row to the Customers table.
        tCust.Rows.Add(newRow1);
     }
     // Give each customer a distinct name.
     tCust.Rows[0]["custName"] = "Alpha";
     tCust.Rows[1]["custName"] = "Beta";
     tCust.Rows[2]["custName"] = "Omega";
     
     // For each customer, create five rows in the Orders table.
     for(var j : int = 1;
 j < 4; j++)
     {
        for(var k : int
 = 1; k < 6; k++)
        {
           newRow2 = tOrders.NewRow();
           newRow2["CustID"]= j;
           newRow2["orderDate"]= new DateTime(2001,
 j, k * 2);
           newRow2["OrderAmount"] = j * 10 + k  * .1;
           // Add the row to the Orders table.
           tOrders.Rows.Add(newRow2);
        }
     }
  }
}

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からControl.BindingContext プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からControl.BindingContext プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からControl.BindingContext プロパティ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Control.BindingContext プロパティ」の関連用語

Control.BindingContext プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Control.BindingContext プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS