다음을 통해 공유


Control.DataBindings 속성

컨트롤에 대한 데이터 바인딩을 가져옵니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public ReadOnly Property DataBindings As ControlBindingsCollection
‘사용 방법
Dim instance As Control
Dim value As ControlBindingsCollection

value = instance.DataBindings
public ControlBindingsCollection DataBindings { get; }
public:
virtual property ControlBindingsCollection^ DataBindings {
    ControlBindingsCollection^ get () sealed;
}
/** @property */
public final ControlBindingsCollection get_DataBindings ()
public final function get DataBindings () : ControlBindingsCollection

속성 값

컨트롤의 Binding 개체를 포함하는 ControlBindingsCollection입니다.

설명

DataBindings 속성을 사용하여 ControlBindingsCollection에 액세스합니다. 컬렉션에 Binding 개체를 추가하면 개체의 속성에 컨트롤의 모든 속성을 바인딩할 수 있습니다.

예제

다음 코드 예제에서는 네 개의 TextBox 컨트롤과 하나의 DateTimePicker 컨트롤의 ControlBindingsCollectionBinding 개체를 추가합니다. ControlBindingsCollection에는 Control 클래스의 DataBindings 속성을 통해 액세스합니다.

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 specified by a navigation 
    ' path in the form : TableName.ColumnName. 
    textBox1.DataBindings.Add _
       (New Binding("Text", ds, "customers.custName"))
    textBox2.DataBindings.Add _
       (New Binding("Text", ds, "customers.custID"))
    
    ' Bind the DateTimePicker control by adding a new Binding. 
    ' The data member of the DateTimePicker is specified by a 
    ' navigation path in the form: TableName.RelationName.ColumnName. 
    DateTimePicker1.DataBindings.Add _
       (New Binding("Value", ds, "customers.CustToOrders.OrderDate"))
    
    ' Create a new Binding using the DataSet and a 
    ' navigation path(TableName.RelationName.ColumnName).
    ' Add event delegates for the Parse and Format events to 
    ' the 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 New Binding("Text", ds, "customers.custToOrders.OrderAmount")
    AddHandler b.Parse, AddressOf CurrencyStringToDecimal
    AddHandler b.Format, AddressOf DecimalToCurrencyString
    textBox3.DataBindings.Add(b)
    
    ' Bind the fourth TextBox to the Value of the 
    ' DateTimePicker control. This demonstrates how one control
    ' can be bound to another.
    textBox4.DataBindings.Add("Text", DateTimePicker1, "Value")
    Dim bmText As BindingManagerBase = Me.BindingContext(DateTimePicker1)
    
    ' Print the Type of the BindingManagerBase, which is 
    ' a PropertyManager because the data source
    ' returns only a single property value. 
    Console.WriteLine(bmText.GetType().ToString())
    ' Print the count of managed objects, which is 1.
    Console.WriteLine(bmText.Count)
    
    ' Get the BindingManagerBase for the Customers table. 
    bmCustomers = Me.BindingContext(ds, "Customers")
    ' Print the Type and count of the BindingManagerBase.
    ' Because the data source inherits from IBindingList,
    ' it is a RelatedCurrencyManager (derived from CurrencyManager). 
    Console.WriteLine(bmCustomers.GetType().ToString())
    Console.WriteLine(bmCustomers.Count)
    
    ' Get the BindingManagerBase for the Orders of the current
    ' customer using a navigation path: TableName.RelationName. 
    bmOrders = Me.BindingContext(ds, "customers.CustToOrders")
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 specified by a navigation 
   path in the form : TableName.ColumnName. */
   textBox1.DataBindings.Add(new Binding
   ("Text", ds, "customers.custName"));
   textBox2.DataBindings.Add(new Binding
   ("Text", ds, "customers.custID"));
      
   /* Bind the DateTimePicker control by adding a new Binding. 
   The data member of the DateTimePicker is specified by a 
   navigation path in the form: TableName.RelationName.ColumnName. */
   DateTimePicker1.DataBindings.Add(new 
   Binding("Value", ds, "customers.CustToOrders.OrderDate"));

   /* Create a new Binding using the DataSet and a 
   navigation path(TableName.RelationName.ColumnName).
   Add event delegates for the Parse and Format events to 
   the 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);
   textBox3.DataBindings.Add(b);

   /*Bind the fourth TextBox to the Value of the 
   DateTimePicker control. This demonstrates how one control
   can be bound to another.*/
   textBox4.DataBindings.Add("Text", DateTimePicker1,"Value");
   BindingManagerBase bmText = this.BindingContext[
   DateTimePicker1];

   /* Print the Type of the BindingManagerBase, which is 
   a PropertyManager because the data source
   returns only a single property value. */
   Console.WriteLine(bmText.GetType().ToString());
   // Print the count of managed objects, which is 1.
   Console.WriteLine(bmText.Count);

   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this.BindingContext [ds, "Customers"];
   /* Print the Type and count of the BindingManagerBase.
   Because the data source inherits from IBindingList,
   it is a RelatedCurrencyManager (derived from CurrencyManager). */
   Console.WriteLine(bmCustomers.GetType().ToString());
   Console.WriteLine(bmCustomers.Count);
   
   /* Get the BindingManagerBase for the Orders of the current
   customer using a navigation path: TableName.RelationName. */ 
   bmOrders = this.BindingContext[ds, "customers.CustToOrders"];
}
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 specified by a navigation 
      path in the form : TableName.ColumnName. */
   textBox1->DataBindings->Add( gcnew Binding( "Text",ds,"customers.custName" ) );
   textBox2->DataBindings->Add( gcnew Binding( "Text",ds,"customers.custID" ) );
   
   /* Bind the DateTimePicker control by adding a new Binding. 
      The data member of the DateTimePicker is specified by a 
      navigation path in the form: TableName.RelationName.ColumnName. */
   DateTimePicker1->DataBindings->Add( gcnew Binding( "Value",ds,"customers.CustToOrders.OrderDate" ) );
   
   /* Create a new Binding using the DataSet and a 
      navigation path(TableName.RelationName.ColumnName).
      Add event delegates for the Parse and Format events to 
      the 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 );
   textBox3->DataBindings->Add( b );
   
   /*Bind the fourth TextBox to the Value of the 
      DateTimePicker control. This demonstrates how one control
      can be bound to another.*/
   textBox4->DataBindings->Add( "Text", DateTimePicker1, "Value" );
   BindingManagerBase^ bmText = this->BindingContext[ DateTimePicker1 ];
   
   /* Print the Type of the BindingManagerBase, which is 
      a PropertyManager because the data source
      returns only a single property value. */
   Console::WriteLine( bmText->GetType() );
   
   // Print the count of managed objects, which is 1.
   Console::WriteLine( bmText->Count );
   
   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this->BindingContext[ds, "Customers"];
   
   /* Print the Type and count of the BindingManagerBase.
      Because the data source inherits from IBindingList,
      it is a RelatedCurrencyManager (derived from CurrencyManager). */
   Console::WriteLine( bmCustomers->GetType() );
   Console::WriteLine( bmCustomers->Count );
   
   /* Get the BindingManagerBase for the Orders of the current
      customer using a navigation path: TableName.RelationName. */
   bmOrders = this->BindingContext[ds, "customers.CustToOrders"];
}
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 specified by a navigation 
        path in the form : TableName.ColumnName. 
     */
    textBox1.get_DataBindings().
        Add(new Binding("Text", ds, "customers.custName"));
    textBox2.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 specified by a 
         navigation path in the form: TableName.RelationName.ColumnName. 
     */
    dateTimePicker1.get_DataBindings().
        Add(new Binding("Value", ds, 
        "customers.CustToOrders.OrderDate"));

    /*  Create a new Binding using the DataSet and a 
        navigation path(TableName.RelationName.ColumnName).
        Add event delegates for the Parse and Format events to 
        the 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));
    textBox3.get_DataBindings().Add(b);

    /*  Bind the fourth TextBox to the Value of the 
        DateTimePicker control. This demonstrates how one control
        can be bound to another.
     */
    textBox4.get_DataBindings().Add("Text", dateTimePicker1, "Value");
    BindingManagerBase bmText 
        = this.get_BindingContext().get_Item(dateTimePicker1);

    /*  Print the Type of the BindingManagerBase, which is 
        a PropertyManager because the data source
        returns only a single property value. 
     */
    Console.WriteLine(bmText.GetType().ToString());

    // Print the count of managed objects, which is 1.
    Console.WriteLine(bmText.get_Count());

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

    /*  Print the Type and count of the BindingManagerBase.
        Because the data source inherits from IBindingList,
        it is a RelatedCurrencyManager (derived from CurrencyManager). 
     */
    Console.WriteLine(bmCustomers.GetType().ToString());
    Console.WriteLine(bmCustomers.get_Count());

    /*  Get the BindingManagerBase for the Orders of the current
        customer using a navigation path: TableName.RelationName. 
     */
    bmOrders 
        = this.get_BindingContext().get_Item(ds, "customers.CustToOrders");
} //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 specified by a navigation 
   path in the form : TableName.ColumnName. */
   textBox1.DataBindings.Add(new Binding
   ("Text", ds, "customers.custName"));
   textBox2.DataBindings.Add(new Binding
   ("Text", ds, "customers.custID"));
      
   /* Bind the DateTimePicker control by adding a new Binding. 
   The data member of the DateTimePicker is specified by a 
   navigation path in the form: TableName.RelationName.ColumnName. */
   DateTimePicker1.DataBindings.Add(new 
   Binding("Value", ds, "customers.CustToOrders.OrderDate"));

   /* Create a new Binding import the DataSet and a 
   navigation path(TableName.RelationName.ColumnName).
   Add event delegates for the Parse and Format events to 
   the 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);
   textBox3.DataBindings.Add(b);

   /*Bind the fourth TextBox to the Value of the 
   DateTimePicker control. This demonstrates how one control
   can be bound to another.*/
   textBox4.DataBindings.Add("Text", DateTimePicker1,"Value");
   var bmText : BindingManagerBase = this.BindingContext[
   DateTimePicker1];

   /* Print the Type of the BindingManagerBase, which is 
   a PropertyManager because the data source
   returns only a single property value. */
   Console.WriteLine(bmText.GetType().ToString());
   // Print the count of managed objects, which is 1.
   Console.WriteLine(bmText.Count);

   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this.BindingContext [ds, "Customers"];
   /* Print the Type and count of the BindingManagerBase.
   Because the data source inherits from IBindingList,
   it is a RelatedCurrencyManager (derived from CurrencyManager). */
   Console.WriteLine(bmCustomers.GetType().ToString());
   Console.WriteLine(bmCustomers.Count);
   
   /* Get the BindingManagerBase for the Orders of the current
   customer import a navigation path: TableName.RelationName. */ 
   bmOrders = this.BindingContext[ds, "customers.CustToOrders"];
}

플랫폼

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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Control 클래스
Control 멤버
System.Windows.Forms 네임스페이스
BindingContext 클래스
Binding 클래스
BindingManagerBase 클래스