是否可以使用为每个属性定义的[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 < / strong>:
IList<Dto> result = CreateDtoList();
var bsOrderItems = new BindingSource(DataSource = result);
pivotGridControl.DataSource = bsOrderItems;
pivotGridControl.RetrieveFields();
答案 0 :(得分:2)
例如:
//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;
答案 1 :(得分:1)
DisplayName属性应正确应用。您的代码对我来说在最新版本18.1中正常运行。或者,考虑改用Data Annotation Attributes。将DisplayAttribute应用于必填字段。