C#array / list into DataGridView Column

时间:2014-07-24 23:01:48

标签: c# arrays list datagridview

我的代码如下:

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”等。

我希望你能理解我的需要,并提前感谢你的每一个帮助:)

1 个答案:

答案 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();   
    }