c#数组/列表到DataGridView列

本文关键字:DataGridView 列表 数组 | 更新日期: 2023-09-27 18:14:57

我的代码是这样的:

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,其中包含了许多p。现在我想在DataGridView中显示这个列表,它工作得很好,除了a中的列表没有显示。

绑定数据源:

dgSeen.DataSource = Storage.seen;

List G在一段时间后得到设置,并且具有正确的值。所以我想要的是,有第四个DataGridView列显示列表的内容,比如"Action, Fatasy, SciFy"等等。

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

c#数组/列表到DataGridView列

您可以为此目的创建一个computed属性。

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