如何为绑定到 List<T> 的 dataGridView 设置 columnNames?
Posted
技术标签:
【中文标题】如何为绑定到 List<T> 的 dataGridView 设置 columnNames?【英文标题】:How do I set columnNames for a dataGridView bound to a List<T>? 【发布时间】:2011-07-29 21:57:20 【问题描述】:如下所示,我创建了一个装备列表。我希望列名更具描述性 - 是否有可以在装备属性中使用的属性?
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;
【问题讨论】:
dataGridView1.Columns[1].Name = "设备名称";这应该在应用绑定后起作用。 WinForms? 【参考方案1】:你可以试试这个
DataGridViewTextBoxColumn dt = new DataGridViewTextBoxColumn();
dt.DataPropertyName = "EquipName"; //Property to bind.
dt.HeaderText = "Name";
dataGridView1.Columns.Add(dt);
您可以使用 Designer 轻松实现这一目标。
【讨论】:
这么长又费力 @Brad 无论如何,这是更好的答案。您可以添加 1 行简单的列:dataGridView1.Columns.Add("", "EquipID");
和 dataGridView1.Columns.Add("", "EquipName");
【参考方案2】:
这行得通..
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;
【讨论】:
以上是关于如何为绑定到 List<T> 的 dataGridView 设置 columnNames?的主要内容,如果未能解决你的问题,请参考以下文章
winForms + DataGridView 绑定到 List<T>
在 WinForm 中将 List<T> 绑定到 DataGridView
将 DataGridView 绑定到 List<T> 不显示数据