获取类中[DisplayName("")]或[Display("")]属性的方法

public class AttributeHelper
    {
        public static string GetDisplayName(Type modelType, string propertyDisplayName)
        {
            return (TypeDescriptor.GetProperties(modelType)[propertyDisplayName].Attributes[typeof(DisplayNameAttribute)] as DisplayNameAttribute).DisplayName;
        }

        public static string GetDisplay(Type modelType, string propertyDisplayName)
        {
            return (TypeDescriptor.GetProperties(modelType)[propertyDisplayName].Attributes[typeof(DisplayAttribute)] as DisplayAttribute).Name;
        }
    }

 

在C# WinForm中,DataGridView控件通常用于显示数据,并且可以轻松地绑定到各种数据源,包括.NET集合如List<T>。如果你想让DataGridView显示集合中对象属性的特定名称,而不是直接映射字段名,你可以通过设置列的DataPropertyName属性。 例如,假设你有一个名为`Customer`的对象,它有`FirstName`, `LastName`, 和 `Email` 等属性,你想在 DataGridView 中显示它们的`DisplayName`版本,比如 "Name"、"Last Name" 和 "Email Address",你可以这样做: ```csharp // 假设你有一个 List<Customer> DataTable var customers = new List<Customer>(); // ... // 创建一个 DataGridViewTextBoxColumn 对象,指定 DisplayMember 属性 DataGridViewTextBoxColumn nameColumn = new DataGridViewTextBoxColumn(); nameColumn.DataPropertyName = "FirstName"; // 这里的 FirstName 就是你想要显示的 DisplayName nameColumn.HeaderText = "Name"; dataGridView1.Columns.Add(nameColumn); // 对于其他属性也做似操作 DataGridViewTextBoxColumn lastNameColumn = new DataGridViewTextBoxColumn(); lastNameColumn.DataPropertyName = "LastName"; lastNameColumn.HeaderText = "Last Name"; DataGridViewTextBoxColumn emailColumn = new DataGridViewTextBoxColumn(); emailColumn.DataPropertyName = "Email"; emailColumn.HeaderText = "Email Address"; // 如果你是从 DataTable 中获取数据,也可以这样做: // dataGridView1.DataSource = customers.AsEnumerable().ToDataTable(); // dataGridView1.Columns["FirstName"].DisplayMember = "FirstName"; ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值