我的.aspx页面中有一个Gridview。我在此grid.ow中显示动态数据。我将在gridview中显示2位小数的浮点数或双数。
答案 0 :(得分:36)
绑定列应具有DataFormatString列。你可以这样做:
DataFormatString="{0:0.00}"
Numeric Custom Format Strings
<强>更新强>
在AutoGenerateColumns="true"
的情况下......我必须更多地了解您的约束力,但这里有一些可供探索的途径:
答案 1 :(得分:13)
你可以在GridView中编写BoundField:
<asp:BoundField DataField="amount" DataFormatString="{0:n}" />
你也可以在GridView中编写TemplateField
<asp:TemplateField>
<ItemTemplate>
<%#Eval("amount","{0:n}")%>
</ItemTemplate>
</asp:TemplateField>
答案 2 :(得分:8)
你可以在你的边界地区做DataFormatString="{0:n2}"
答案 3 :(得分:2)
这适用于模板列,比如你想要一个比例的两个小数位(如1:3)
<%# Eval("somedatacolumn", "1:{0:.##}").ToString() %>
答案 4 :(得分:1)
如果您使用DataFormatString
并且似乎没有做到这一点,请添加HtmlEncode = "false"
,例如:
<asp:BoundField DataField="DateScheduled" HeaderText="Date Created" DataFormatString="{0:D}" HtmlEncode="false"/> // date format
<asp:BoundField DataField="Amount" HeaderText="Pay This Amount" DataFormatString="{0:F}" HtmlEncode="false"/> // number format
答案 5 :(得分:0)
有两种简单的方法可以在GridView中格式化事物。第一个是在上一个答案中给出的 - 使用DataFormatString。第二个,听起来适用于你动态加载网格的情况,就是改变进入网格的数据。
因此,不是返回一个数字并尝试格式化,而是返回一个格式化的数字并让GridView显示它。
答案 6 :(得分:0)
<asp:TemplateField HeaderText="Prev Salary" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblGrdSalary" runat="server" Text='<%#Bind("Salary", "{0:n}") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" Width="70px" />
</asp:TemplateField>