是否可以防止DataGridView中的多行HeaderText?

时间:2012-02-29 22:25:01

标签: .net winforms datagridview header width

HeaderText属性的长度达到某个字符限制并且文本中有空格时,WinForms会自动在标题中插入一个链接中断:

我想要的是什么:

+-----------------------+---
| Measurement Value (%) | ...
+-----------------------+---

我得到了什么:

+-----------------------+---
| Measurement Value     | ...
|(%)                    |
+-----------------------+---

有足够的空间来显示所有标题单元格而不会断行,但无论出于何种原因,即使我将AutoSizeMode设置为HeaderCell,它仍会被插入。

如何在HeaderText

中保留空格的同时防止这些换行符

4 个答案:

答案 0 :(得分:37)

ColumnHeadersDefaultCellStyle的{​​{1}}属性有一个名为DataGridView的布尔属性。默认情况下这是真的。将其设置为假,以设置所需的行为。

答案 1 :(得分:15)

您无法直接将其设置为false。将其设置为false的正确方法是:

this.dataGridView1.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False; 

答案 2 :(得分:3)

如果要在DataGridView控件中停止多行文本,则Wrap Mode应为false并设置填充 enter image description here

答案 3 :(得分:0)

您可以将 ColumnHeadersDefaultCellStyle.WrapMode 设置为 DataGridViewTriState.False 作为已经提出的其他答案

您可以用不可破坏的空格 \s 替换标头字符串中的空格 \u00A0。第二种解决方案的好处是您可以在标头字符串中使用 \n 设置手动换行符并避免自动换行。例如:

+----------------------------------------------+
| A\u00A0very\u00A0long\u00A0first\u00A0Line\n |
| A\u00A0second\u00A0very\u00A0long\u00A0line  |
+----------------------------------------------+

第一个解决方案是不允许手动换行(一切都是一行)。