2008-11-21 9 views
12

En HTML en el td de una tabla, puede dividir el texto usando <BR> entre las palabras. Esto también funciona en HeaderText de un TemplateItem pero no en HeaderText de un BoundField. ¿Cómo se divide el texto del encabezado de un BoundField?Cómo rompo el texto de encabezado de un BoundField

Respuesta

26

Conjunto HtmlEncode = false dentro del BoundField

<asp:BoundField DataField="SomeDataField" 
     HeaderText="SomeHeader<br />(OtherData)" 
     HtmlEncode="false" /> 

BoundField.HtmlEncode es cierto por defecto que significa que si se añade HTML en el texto que será codificado.
Si HtmlEncode está configurado como falso, el texto no está codificado y el br funcionará como se espera. Lamentablemente, no es posible especificar esto solo para el texto del encabezado, sino que también afectará el contenido de la celda.

+0

+1: me perdí esta pequeña propiedad y estaba buscando hacks serios. gracias :) – naveen

+0

Esto, por supuesto, estropeará la pantalla de texto del campo real (si tiene cosas que parecen HTML, incluyendo '&'), así que ten cuidado. Especialmente si la cuadrícula muestra datos proporcionados por el usuario, porque te estás abriendo para un ataque de inyección. –

-1

Para aquellos de ustedes que intentan hacer esto sin deshabilitar HtmlEncode, es bastante simple, aunque un poco tonto. Solo usa un salto de línea real. Al igual que ...

<asp:BoundField DataField="ProposedExtractionStartDate" HeaderText="Proposed 
         Extraction Start Date" SortExpression="ProposedExtractionStartDate" DataFormatString="{0:MM/dd/yyyy}" /> 

Eso realmente aparecerá como multilínea cuando se renderiza el HTML.

Si hay una combinación de caracteres que lo indique, me gustaría saberlo.

Cuestiones relacionadas