在 DevExpress PivotGridControl 中使用 DisplayNameAttribute
Using DisplayNameAttribute in DevExpress PivotGridControl
有没有办法使用为每个 属性 定义的 [DisplayName] 作为 PivotGridControl
中的字段?
public class Dto
{
[DisplayName("Identifier")]
public int Id {get;set;}
[DisplayName("Number")]
public string Num {get;set;}
...
//other properties
}
使用以下代码导致将 Id 和 Num 显示为 Pivot Fields
,但我希望显示 Identifire 和 Number 而不是:
IList<Dto> result = CreateDtoList();
var bsOrderItems = new BindingSource(DataSource = result);
pivotGridControl.DataSource = bsOrderItems;
pivotGridControl.RetrieveFields();
您可以将显示名称分配给 Caption
property of the field
。
例如:
//using System.ComponentModel;
var properties = TypeDescriptor.GetProperties(typeof(Dto));
foreach (PropertyDescriptor p in properties)
pivotGridControl.Fields[p.Name].Caption = p.DisplayName;
或者您可以在 pivotGridControl.Fields
上循环并为每个 PivotGridField
设置标题:
//using System.ComponentModel;
//using DevExpress.XtraPivotGrid;
var properties = TypeDescriptor.GetProperties(typeof(Dto));
foreach (PivotGridField f in pivotGridControl.Fields)
f.Caption = properties[f.FieldName].DisplayName;
应正确应用 DisplayName 属性。您的代码在最新版本 18.1 中对我来说运行正常。或者,考虑对必填字段使用 Data Annotation Attributes instead. Apply DisplayAttribute。
有没有办法使用为每个 属性 定义的 [DisplayName] 作为 PivotGridControl
中的字段?
public class Dto
{
[DisplayName("Identifier")]
public int Id {get;set;}
[DisplayName("Number")]
public string Num {get;set;}
...
//other properties
}
使用以下代码导致将 Id 和 Num 显示为 Pivot Fields
,但我希望显示 Identifire 和 Number 而不是:
IList<Dto> result = CreateDtoList();
var bsOrderItems = new BindingSource(DataSource = result);
pivotGridControl.DataSource = bsOrderItems;
pivotGridControl.RetrieveFields();
您可以将显示名称分配给 Caption
property of the field
。
例如:
//using System.ComponentModel;
var properties = TypeDescriptor.GetProperties(typeof(Dto));
foreach (PropertyDescriptor p in properties)
pivotGridControl.Fields[p.Name].Caption = p.DisplayName;
或者您可以在 pivotGridControl.Fields
上循环并为每个 PivotGridField
设置标题:
//using System.ComponentModel;
//using DevExpress.XtraPivotGrid;
var properties = TypeDescriptor.GetProperties(typeof(Dto));
foreach (PivotGridField f in pivotGridControl.Fields)
f.Caption = properties[f.FieldName].DisplayName;
应正确应用 DisplayName 属性。您的代码在最新版本 18.1 中对我来说运行正常。或者,考虑对必填字段使用 Data Annotation Attributes instead. Apply DisplayAttribute。