我有一个Zones类,其中包含Row类型的对象列表。我想做的是获取一个DataGridView来显示我所有区域中的所有行。此代码只给我列出了aircraft.zones列表中第一个区域的行。

BindingSource mySource = new BindingSource();
mySource.DataSource = aircraft.zones;
mySource.DataMember = "rows";


Zone类看起来像这样

public class Zone
{
    public List<Row> rows{ get; set; }
    public string name { get; set; }
    double arm;
    private int id;
}


我可以通过将所有行插入到DataTable中然后绑定到该表来做到这一点,但我真的不想这样做,那么任何更改都不会被更新。有什么想法可以让所有区域中的所有行都显示出来吗?

谢谢。

最佳答案

试试这个,我认为它可以包括更新,尽管不能插入或删除:

mySource.DataSource = aircraft.zones.SelectMany(t => t.rows).ToList();


(并删除DataMember分配)

关于c# - 如何将列表中的所有项目绑定(bind)到DataGridView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18139727/

10-12 00:28
查看更多