日期:2014-05-17  浏览次数:20701 次

DataGridView 如何绑定内置对象属性?
C# code

public class Person
    {
        public string Name
        {
            get;
            set;
        }

        public Country Country
        {
            get;
            set;
        }
    }

public class Country
    {
        public string CountryName
        {
            get;
            set;
        }

        public Image NationalFlag
        {
            get;
            set;
        }
    }



假设我有以上这样2个实体类关系,人和国家。现在查询返回的结果集为IList<Person>,通过DataGridViewColumn的DataPropertyName属性绑定到DataGridView上显示。
C# code
dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Name", DataPropertyName = "Name" });
dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "CountryName", DataPropertyName = "CountryName.Name" });


google了下,貌似DataGridView不支持这种"CountryName.Name"的绑定方式。难道要自己扩展一个DataGridViewColumn吗?

------解决方案--------------------
http://topic.csdn.net/u/20080103/15/3ddadb1d-bfe7-4cf9-949f-43a628ff155e.html