【发布时间】:2021-01-19 15:32:50
【问题描述】:
我正在尝试按 datagridview 组件中的列绑定我的对象,但我找不到任何方法。
这是我正在努力实现的一个示例。
我有 Emp 类
public class Emp
{
public int ID { get; set; }
public string Name { get; set; }
public string City { get; set; }
public Emp(int id, string name, string city)
{
this.ID = id;
this.Name = name;
this.City = city;
}
}
还有一个 Emp
数组var arrEmp = new[] {
new Emp( 1, "Devesh Omar", "Noida"),
new Emp( 2, "Roli", "Kanpur"),
new Emp( 3, "Roli Gupta", "Mainpuri"),
new Emp( 3, "Roli Gupta", "Kanpur"),
new Emp( 3, "Devesh Roli ", "Noida"),
};
当我将数据绑定到网格时
dataGridView1.DataSource = arrEmp;
我明白了(没关系)
我希望网格只有 3 个固定行(Id、Name、City)和所有值的列。 (矩阵转置) 此外,如果我在 arrEmp 中添加或删除元素,该元素将作为列添加。
示例取自here
【问题讨论】:
-
没有这样的数据绑定,但你可以手动完成。
-
我知道,但我想知道是否有任何方法(除了手动),或者是否有实现该功能的组件。
-
我相信您将不得不手动旋转数据。可能第三方网格控件可能具有此功能。 LINQ 可能会让事情变得更容易,但它仍然是一个手动枢轴。
-
没有这样的内置方式或内置组件,但是我使用自定义类型描述符做到了。它是可编辑的,当您编辑旋转列表时,您实际上是在编辑原始列表。
标签: c# .net winforms datagridview