是否可以使用c#在Datagrid视图中有两个列标题

时间:2010-03-04 11:58:29

标签: c# datagridview

我喜欢使用列标题文本并将其跨越到列。你会怎么做?我找不到“Headercell.Span”。也可以有两个列标题?

喜欢这个

|全名| DESC。 |

|第一个|最后|州|年龄|


数据

3 个答案:

答案 0 :(得分:1)

DataGridView不支持此功能。您最终可以使用标签模拟标题,并防止扩展列超过标签宽度。

答案 1 :(得分:0)

您可以通过创建模板字段来完成此操作。

在标题模板中,创建标题。

在项目模板中,只需添加<%#Eval(“YourDataItem”)%>您要包含的每个数据项的语句。

答案 2 :(得分:0)

好吧,这可能不是最优雅的解决方案(或者很可能,不确定)......

  1. 创建一个面板
    • 将AutoScroll设置为True(此设置为关键)
  2. 将DataGridView添加到Panel
    • 确保只启用了Verticle滚动, 否则你会得到两个水平滚动条
  3. 将TableLayoutPanel添加到Panel
  4. 现在将TLP(TableLayoutPanel)放置在Panel内部的最顶部。 确保只有一行,并根据需要添加尽可能多的列。 在每个列中插入一个Label,并且不用担心对齐。

    现在,将DGV(DataGridView)放置在Panel内的TLP下面,并且 将TLP列对齐到DGV列(从最右侧的列分隔符开始 在TLP中,然后继续工作。)

    如果您的面板比DGV和TLP都宽,则将其缩小直至滚动 栏出现(这是Panel AutoScroll进来的地方)。你不应该跑 用于查看滚动条的程序。

    尝试滚动,您应该看到TLP(和其中的标签)和DGV 一起搬家。

    多数民众赞成。