Установка текста заголовка GridView для переноса в соответствии с указаниями - PullRequest
4 голосов
/ 09 декабря 2008

У меня есть GridView, который имеет столбцы, такие как:

|    A    |    B C    |    D E / F   |

Я хочу, чтобы они были обернуты особым образом, то есть я не хочу, чтобы браузер решал, обтекать или нет, в зависимости от ширины столбца. Так что в приведенном выше примере мне может понадобиться следующее:

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

Я пытался использовать \n, а также <br/>, но оба они не работали.

Есть идеи?

Ответы [ 2 ]

6 голосов
/ 09 декабря 2008

Вы можете сделать это без шаблонов. Просто установите 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.               |
---------------------------------------------

ПРИМЕЧАНИЕ. Если вы используете конструктор, а не редактируете aspx напрямую, он изменит ваш «<» на «&lt;» при нажатии кнопки «ОК».

6 голосов
/ 09 декабря 2008

Если вы используете поле шаблона, вы можете настроить точный контроль содержания заголовка в шаблоне заголовка:

<asp:templatefield>
    <headertemplate>
      D<br />
      E / F
    </headertemplate>
    <itemtemplate>
        <%#Eval("MyField")%>
    </itemtemplate>
</asp:templatefield>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...