【问题标题】:Merge Header and Cells in DataGridView Windows Forms C#在 DataGridView Windows 窗体 C# 中合并标题和单元格
【发布时间】:2018-06-05 06:30:15
【问题描述】:

我需要以以下格式显示数据。我正在尝试找到一种方法来合并单元格或为单元格提供 colspan 以实现功能

DataGridView final view

找到了几篇文章,它们提供了一些关于如何实现它的好主意。我每行至少有 10 行和 24 列,所以性能也是一个因素

https://www.codeproject.com/Articles/34037/DataGridVewTextBoxCell-with-Span-Behaviour

http://forums.codeguru.com/showthread.php?415930-DataGridView-Merging-Cells

让我知道是否有任何其他方法可以实现它,或者我应该在 Windows 窗体中使用 WPF 网格。关于如何实现它的任何想法?

感谢您的宝贵时间

【问题讨论】:

  • 虽然我喜欢您链接的第一篇文章,但根据我的经验,这通常更类似于您的第二个链接。为了您的阅读,我已经回答了一些关于合并标题的帖子:(12)和一个被广泛接受的 SO 建议:How to Merge DataGridView Cell in Winforms
  • 我实际上正在查看您建议的链接 (stackoverflow.com/questions/16774966/…) 唯一的问题是我无法使内容居中对齐,它将始终位于一个单元格上)。我帖子中的第二个链接实现了中心对齐,但单元格看起来不像点击时被选中。
  • 合并的单元格必须相应地绘制。无需担心性能。唯一的问题是您要保存格式数据的方式和位置。
  • @Bahrom 有没有关于如何使合并的单元格在点击时选择和取消选择的示例或一些指南?

标签: c# winforms datagridview wpfdatagrid


【解决方案1】:

例如,标准 DataGridView 控件不支持丰富的格式(如 Excel 工作表)。只有最低 - 最需要的。您在这些帖子中提出的所有这些解决方案都在尝试处理绘画事件并进行一些棘手的绘画,仅此而已。

另一方面,您也应该考虑其他替代方案。如果您的数据将显示为只读,那么我建议您生成 html 文档并使用 WebBrowser 控件显示它。 Html 支持更多格式,包括合并单元格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2015-10-12
    • 1970-01-01
    相关资源
    最近更新 更多