如何为绑定到List <t>?</t>的dataGridView设置columnNames

时间:2011-04-05 11:57:53

标签: c# winforms list datagridview datasource

如下图所示我创建了一个装备列表。我希望列名更具描述性 - 是否有一个属性可以在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 个答案:

答案 0 :(得分:19)

这有效..

using System.ComponentModel;

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

DataGridView.Datasource = EquipList;
下面的

:将显示该类中的前两个属性 使用他们的新名称,第三个属性将不会显示为 可浏览属性。

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 :(得分:1)

你可以试试这个

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

您可以使用Designer轻松实现此目的。