Как установить columnNames для dataGridView, привязанного к списку <T>? - PullRequest
5 голосов
/ 05 апреля 2011

Как показано ниже, я создал список оборудования. Я хотел бы, чтобы имена столбцов были более наглядными - есть ли атрибут, который я могу использовать в файле equip.properties?

DataGridView.Datasource = EquipList;

List<equip> EquipList = new List<equip>();

public class equip
{
 public int EquipID {get;set;}
 public string EquipName {get;set;}
}

Хорошо,возможно я не объяснил себя должным образом ... я надеюсь, что есть атрибут, который можно применить как ....

[Alis("name I would like to see in the gridview")]
public int EquipID {get;set;}

если нет, я просто буду придерживаться старых утомленных способов

Позже тем же утром ....

Я понял!

 using System.ComponentModel;

[DisplayName("the nice name")]
 public int EquipID {get;set;}

Ответы [ 2 ]

19 голосов
/ 05 апреля 2011

Это работает ..

using System.ComponentModel;

List<equip> EquipList = new List<equip>();

DataGridView.Datasource = EquipList;

ниже: первые два свойства в классе будут отображаться с их новыми именами, третье свойство не будет отображаться согласно атрибуту Browsable.

public class equip
  {
   [DisplayName("Equipment ID")]
   public int EquipID {get;set;}

   [DisplayName("Equipment Name")]
   public string EquipName {get;set;}

   [Browsable(false)]
   public int recordId {get; private set;}
  }
1 голос
/ 05 апреля 2011

Вы можете попробовать это

DataGridViewTextBoxColumn dt = new DataGridViewTextBoxColumn();
dt.DataPropertyName = "EquipName"; //Property to bind.
dt.HeaderText = "Name";
dataGridView1.Columns.Add(dt);

Вы можете легко достичь этого с помощью Designer.

...