繁体   English   中英

填充数据网格视图

[英]Populate a datagridview

我有一个“人物”对象列表:

public class Person
{
   public Int32 Id { get; set; }
   public String Name { get; set; }
   public Document oDocument  { get; set; }
}

还有Document类。

public class Document
{
   public String Type { get; set; }
   public String Code { get; set; }
}

我需要使用该列表填充DataGridView,只显示两列:Name(Person)和DocumentCode(Document)

我用过这段代码,但是我得不到我想要的东西。

  dgvPersona.DataSource = list;

您需要选择一个匿名类型对象(以投影必填字段) ,然后将其绑定到您的gridview,如:

var list = (from p in persons
            select new 
                   {
                   Name = p.Name,
                   DocumentCode = p.Document.Code
                   }).ToList();

dgvPersona.DataSource = list;

您也可以选择Id并将其保存在gridview中的隐藏列中,以便以后可以将其用于记录更新等。

尝试这个:

  public class Person
        {
            public Int32 Id { get; set; }
            public String Name { get; set; }
            public Document oDocument { get; set; }
        }
        public class Document
        {
            public String Type { get; set; }
            public String Code { get; set; }
        }

     List<Person> list = new List<Person>();
     dgvPersona.DataSource= list.Select(data => new { data.Name, data.oDocument.Code }).ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM