我的代码如下:
public class A
{
public string N{ get; set; }
public int E1 { get; set; }
public int E2{ get; set; }
public List<Genre> G{ get; set; }
[System.ComponentModel.Browsable(false)]
public string L { get; set; }
}
我有一个包含其中许多的BindingList。现在我想在DataGridView中显示这个列表,它工作得很好,除了A里面的List没有显示。
绑定DataSource:
dgSeen.DataSource = Storage.seen;
List G在一段时间后被设置,并且具有正确的值。 所以我想要的是,有一个第四个DataGridView列向我显示List的内容,如“Action,Fatasy,SciFy”等。
我希望你能理解我的需要,并提前感谢你的每一个帮助:)
答案 0 :(得分:0)
您可以为此目的创建计算属性。
public string GDisplay
{
get
{
return String.Join(", ", G);
}
}
然后在网格中使用GDisplay
来表示G.显然这是一个只读设计。如果您希望能够通过网格修改G的值,则必须为GDisplay
实现一个setter。例如:
set
{
G = value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Trim())
.ToList();
}