Проблема DataFormatValue в GridView

Как я могу отформатировать значение столбца в моем виде сетки?

Я попробовал следующий код, но не работает, все еще не отформатированный.

<asp:GridView ID="grdDetalhePropostaExpirada" Width="100%" runat="server" AutoGenerateColumns="false" DataSourceID="dsGridExpira">        
    <Columns>
        <asp:BoundField HeaderText="Valor" DataField="ValorProposta" DataFormatString="{0:c}" />
    </Columns>
</asp:GridView>

2 ответа

Решение

Вы должны установить свой HTMLEncode в False:

<Columns>
    <asp:BoundField HeaderText="Valor" DataField="ValorProposta" HtmlEncode="False" DataFormatString="{0:c}" />
</Columns>

MSDN: в версиях ASP.NET более ранних, чем 3.5, необходимо задать для свойства HtmlEncode значение false, чтобы отформатировать поля, не являющиеся строковыми типами данных. В противном случае значение поля преобразуется в строку с помощью метода преобразования по умолчанию перед применением строки формата, сохраненной в свойстве DataFormatString.

Вы можете попробовать установить DataFormatString="{0:$#,##0,00;($#,##0,00);0}" и установить HTMLEncoded = false.

Другие вопросы по тегам