在GridView中如何格式化Money型字段

来源:互联网 发布:mg动画 知乎 编辑:程序博客网 时间:2024/05/20 09:45

<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>
这段代码中,
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"

原创粉丝点击