2016-07-25 80 views
0

我想拥有一个将在WinForms'DataGridView控件中可视化的对象容器。如何在设计时绑定自定义对象的容器

据我所知,我可以通过DataSource属性将容器绑定到DataGridView

但我想知道,在Designer中有没有办法做到这一点?我看到很多与此相关的选项(如DataSource,DataMember等),但我没有看到任何选项可以让我有机会在Form类中选择自己的容器。

我不想以编程方式制作这种东西,如果它在设计器中可用的话。

回答

1

DataSource可以在设计器中绑定。您可以按下DataGridView顶部的小箭头,然后选择数据源。在底部>添加项目数据源...

enter image description here

添加类后,将包含您的数据源,您可以在属性面板,其公共财产是你的数据源。

例如:

public class ThereIsDataSourceInThisClass 
{ 
    public ThereIsDataSourceInThisClass() 
    { 
     MyDataSource = new BindingList<Thing>(); 
     MyDataSource.Add(new Thing { First = "aa", Second = "bb" }); 
    } 

    public BindingList<Thing> MyDataSource { get; set; } 

    public class Thing 
    { 
     public string First { get; set; } 
     public string Second { get; set; } 
    } 
} 

我在向导中选择ThereIsDataSourceInThisClass,比我在DataSource属性选择MyDataSource

结果>

enter image description here

+0

所以,'BindingList'应该是那就是'DataGridView'的'DataSource'类的属性?我可以将这个'BindingList'放在'Form'类中吗? – FrozenHeart

+0

你不应该。绑定是关于将View与Model/ViewModel分开的。 – ntohl

+0

如果您在向导中选择“Form”,则工作方式相同。刚刚检查过 – ntohl

相关问题