要从绑定到List <T>或匿名类型的绑定源获取正确的映射名称,以便在DataGridTableStyle上使用,请按照以下步骤操作:
using System.ComponentModel;
using System.Windows.Forms;
TypeDescriptor.GetProperties
方法获取数据源的属性信息。例如:var properties = TypeDescriptor.GetProperties(typeof(T));
foreach (PropertyDescriptor property in properties)
{
string name = property.Name;
string displayName = property.DisplayName;
}
DataGridColumnStyle
对象创建列样式,并将其添加到DataGridTableStyle的GridColumnStyles
集合中。例如:DataGridTableStyle tableStyle = new DataGridTableStyle();
foreach (PropertyDescriptor property in properties)
{
DataGridColumnStyle columnStyle = new DataGridTextBoxColumn
{
MappingName = property.Name,
HeaderText = property.DisplayName
};
tableStyle.GridColumnStyles.Add(columnStyle);
}
这样,您就可以在DataGridTableStyle上使用正确的映射名称了。
需要注意的是,在使用匿名类型时,由于其属性是动态生成的,因此需要使用反射来获取属性信息。例如:
var properties = TypeDescriptor.GetProperties(list.First().GetType());
其中,list
是绑定到DataGrid的List <T>或匿名类型的绑定源。
领取专属 10元无门槛券
手把手带您无忧上云