代码之家  ›  专栏  ›  技术社区  ›  Mathieu

数据绑定到自定义控件

  •  0
  • Mathieu  · 技术社区  · 16 年前

    我在C#Windows窗体(.NET 4.0)应用程序中遇到以下情况:

    我有一个bindingsource,其中datasource被设置为自定义类的对象集合。

    此类的大多数属性都可以用文本框或复选框表示,因为它们是字符串、数字或布尔值。 但是,有一个属性称为Ratings,它是另一个自定义对象,必须由我开发的自定义控件表示。

    现在,我希望实现的最终结果是可行的,但是我通过在每次触发datagridview的OnSelectedRowChanged事件时刷新我的自定义控件,并将所选项的Ratings属性关联到自定义控件来实现这一点。

    但是我想知道我是否可以纯粹通过.NET中的数据绑定机制来实现这一点。

    谢谢你的回复!

    马修

    ps:进一步澄清,因为纯文本中似乎不太清楚:

    表示我用作bindingsource数据源的对象的Psuedo代码是:

    public class Car
    {
    
       private string number;
       private string name;
       ...
       private Ratings ratings;
    
    
       public string Number
       {
         get { return this.number; }
         set { this.number = value; }
       }
    
       public string Name
       {
         get { return this.name; }
         set { this.name = value; }
       }
    
       ...
    
       public Ratings Ratings
       {
         get { return this.ratings; }
         set { this.ratings = value; }
       }
    
    }
    

    因此,我希望bindingsource中的所有string和number属性都绑定到datagridview,但我需要Ratings属性绑定到自定义控件。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Timores    16 年前

    我知道您希望在DataGridView中有一个带有自定义控件的特殊列。为此,需要创建DataGridViewCell和DataGridViewColumn的子类,并实现IDataGridViewEditingControl。

    MSDN 举个例子。

    推荐文章