Проблема 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.