将GridView标题文本设置为按指示进行换行

时间:2008-12-09 05:53:01

标签: c# asp.net html gridview

我有一个GridView,其中包含以下列:

|    A    |    B C    |    D E / F   |

我希望以特定的方式包装它们 - 也就是说,我不想将它留给浏览器来确定是否换行,具体取决于列宽。因此,在上面的示例中,我可能需要以下内容:

|    A    |    B      |    D         |
|         |    C      |    E / F     |

我已尝试使用\n并使用<br/>,但这两项都无效。

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

如果使用模板字段,则可以对标题模板中的标题内容进行细粒度控制:

<asp:templatefield>
    <headertemplate>
      D<br />
      E / F
    </headertemplate>
    <itemtemplate>
        <%#Eval("MyField")%>
    </itemtemplate>
</asp:templatefield>

答案 1 :(得分:6)

你可以在没有模板的情况下完成。只需在标题中设置HtmlEncode =“False”,其中包含<br />个标记。

示例:

<asp:GridView ID="GridView1" runat="server" DataSourceID="Data">
<Columns>
    <asp:BoundField HeaderText="First Line<br />Second Line" DataField="ContactID"
                HtmlEncode="False" />
    <asp:BoundField HeaderText="Second" DataField="FirstName" />
    <asp:BoundField HeaderText="Third<br />Extra" DataField="Title" />
</Columns>
</asp:GridView>

渲染:

First Line  |   Second  |  Third<br />Extra |
Second Line |           |                   |
---------------------------------------------
1           | Gustavo   | Mr.               |
---------------------------------------------
2           | Catherine | Ms.               |
---------------------------------------------

注意:如果您使用Designer而不是直接编辑aspx,当您单击“确定”时,它会将“<”更改为“&lt;”。