【发布时间】:2010-10-25 14:48:09
【问题描述】:
我在 DataTable 中有 10 条数据记录,其中包含 3 个字段“Foo”、“Bar”和“Baz”。
如果我将它连接到 DataGridView 中,我会看到 10 行和 3 列,并且列标题会显示字段的名称。
我想知道反转行和列是多么容易,因此对于相同的数据,我最终得到 3 行和 10 列,并且字段名称显示在行标题中。
我可以手动做一些事情,比如重写 OnPaint 方法并将字段名称直接绘制到行标题单元格中,但我正在寻找更自动化的东西。
再次,建议手动交换值,但除非我将所有值都设为字符串,否则这是行不通的。数据表中的 3 列 - int、float 和 string 类型的 Foo、Bar 和 Baz 不会转置。
即使我管理了所有这些手动更改,我的数据网格也有 CheckBox 列、ComboBox 列 - 不存在这样的行对应项 - 没有 CheckBox 行或 ComboBox 行。我目前只需要告诉编译器“添加一个 ComboBoxColumn”我必须重新编写,以便单独生成每个单元格。
理想情况下,我想要一个 TransposableDataGridView,它公开了 DataGridView 的所有功能,并带有一个额外的 bool 属性“Transposed”。这样我就可以让我的所有代码保持原样 - 除了网格的类型之外,我不需要更改任何内容。
如果不存在这样的东西,我可能只需要去写它。 (应该只需要我一年左右的时间!:)
【问题讨论】:
标签: c# winforms datagridview