我有一个GridView,其中包含以下列:
| A | B C | D E / F |
我希望以特定的方式包装它们 - 也就是说,我不想将它留给浏览器来确定是否换行,具体取决于列宽。因此,在上面的示例中,我可能需要以下内容:
| A | B | D |
| | C | E / F |
我已尝试使用\n
并使用<br/>
,但这两项都无效。
有什么想法吗?
答案 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,当您单击“确定”时,它会将“<
”更改为“<
”。