形式 语法 结果
数字 {0:N2} 12.36
数字 {0:N0} 13
货币 {0:c2} $12.36
货币 {0:c4} $12.3656
货币 "¥{0:N2}" ¥12.36
科学计数法 {0:E3} 1.23E+001
百分数 {0:P} 12.25% (P and p present the same. )
日期 {0:D} 2006年11月25日
日期 {0:d} 2006-11-25
日期 {0:f} 2006年11月25日 10:30
日期 {0:F} 2006年11月25日 10:30:00
日期 {0:s} 2006-11-26 10:30:00
时间 {0:T} 10:30:00
在设置GridView数据绑定控件的模版列时,总要设置显示的格式,这里是我查询一些资料后统计出来的。还有一个常规的选项是用数据库中默认的格式显示。
在GridView中如何格式化Money型字段(downmoon)?
amount为Money型字段,无论如何只能显示成
1234.5600
而不能显示成
1,234.56
用
<asp:BoundField DataField="amount" HeaderText="amount" DataFormatString="{0:n2}" />
<asp:BoundField DataField="amount" HeaderText="amount" DataFormatString="{0:c2}" />
也不行!
后来在MSDN上找到了答案
<asp:BoundField DataField="amount" HeaderText="amount" DataFormatString="{0:#,###.00}" HtmlEncode="False" />
关键在于HtmlEncode="False"
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="PKID"
DataMember="DefaultView" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="PKID" HeaderText="PKID" InsertVisible="False" ReadOnly="True"
SortExpression="PKID" />
<asp:TemplateField>
<HeaderTemplate>
amount</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="txtMoney" Text=''<%# Decimal.Parse(DataBinder.Eval(Container.DataItem,"amount").ToString())%>'' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TestID" HeaderText="TestID" SortExpression="TestID" />
<asp:BoundField DataField="testString" HeaderText="testString" SortExpression="testString" />
</Columns>
</asp:GridView>
这段代码中,
本文介绍如何在ASP.NET的GridView控件中正确地格式化Money类型的字段,解决金额显示时的小数点及千位分隔符问题。通过调整DataFormatString属性并设置HtmlEncode参数为False,实现数据的正确显示。

1202

被折叠的 条评论
为什么被折叠?



