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

4 html c# asp.net gridview

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

|    A    |    B C    |    D E / F   |
Run Code Online (Sandbox Code Playgroud)

我希望这些以特定的方式包装 - 也就是说,我不想让它留给浏览器根据列宽来确定是否换行.所以在上面的例子中我可能想要以下内容:

|    A    |    B      |    D         |
|         |    C      |    E / F     |
Run Code Online (Sandbox Code Playgroud)

我尝试过使用\n并使用<br/>这两种方法都不起作用.

有任何想法吗?

Hec*_*Mac 6

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

<asp:templatefield>
    <headertemplate>
      D<br />
      E / F
    </headertemplate>
    <itemtemplate>
        <%#Eval("MyField")%>
    </itemtemplate>
</asp:templatefield>
Run Code Online (Sandbox Code Playgroud)


Kel*_*ams 6

你可以不用模板来做.只需在带有<br />标签的标题上设置HtmlEncode ="False" 即可.

例:

<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>
Run Code Online (Sandbox Code Playgroud)

呈现:

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

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