如果我有两个对象,即Fruit' and
Color`及其定义如下:
public class Fruit
{
public int FruitId { get; set; }
public string Name { get; set; }
public Color Color { get; set; }
}
public class Color
{
public int ColorId { get; set; }
public string Name { get; set; }
}
如何绑定集合Fruit
(e.g. List<Fruit>)
到 DataGridView?其中生成的输出将类似于以下内容:
+-----+--------+----------+
| Id | Name | Color |
+-----+--------+----------+
| 10 | Apple | Red |
| 20 | Orange | Orange |
| 30 | Grapes | Violet |
+-----+--------+----------+
并且不像下面的输出:(注意:N 中N.Color
表示对象 Color 的命名空间)
+-----+--------+------------+
| Id | Name | Color |
+-----+--------+------------+
| 10 | Apple | N.Color |
| 20 | Orange | N.Color |
| 30 | Grapes | N.Color |
+-----+--------+------------+
更新#1:
我发现了一个类似的帖子here并尝试了该帖子中的一些建议,但它不起作用......
你有多种选择。
您可以覆盖ToString
方法在你的Color
返回类Name
like:
public class Color
{
public int ColorId { get; set; }
public string Name { get; set; }
public override string ToString()
{
return Name;
}
}
或者代替分配List<Fruit>
as DataSource
您可以选择匿名对象列表并选择Name
of Color
在你的结果中,如:
var result = yourListOfFruit
.Select(r => new
{
FruitID = r.FruitId,
Name = r.Name,
Color = r.Color.Name,
}).ToList();
dataGridView1.DataSource = result;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)