我有一个 Zones 类,它有一个 Row 类型的对象列表。我想做的是让 DataGridView 显示我所有区域中的所有行。此代码仅提供飞机.区域列表中第一个区域的行。
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;
}
我可以通过将所有行插入数据表然后绑定(bind)到该数据表来做到这一点,但我真的不想这样做,那么任何更改都不会更新。有什么想法如何让所有区域中的所有行都显示出来吗?
谢谢。
最佳答案
试试这个,我认为它可以工作,包括更新,但不能插入或删除:
mySource.DataSource = aircraft.zones.SelectMany(t => t.rows).ToList();
(并删除 DataMember
分配)
关于c# - 如何将列表中的所有项目绑定(bind)到DataGridView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139727/