0

我有一个网格视图,其中我将 DateFormatString {0:#,#.##} 用于一列。如果列的值为 0,则它没有显示任何值你能帮我解决这个问题吗?

这是我的代码

   <asp:BoundField DataField="CummPV" HeaderText="Cumm-PV" SortExpression="cummPV" DataFormatString="{0:#,#.##}" ItemStyle-HorizontalAlign="Right" ItemStyle-VerticalAlign="Bottom" HeaderStyle-HorizontalAlign="Left" HeaderStyle-VerticalAlign="Bottom"/>
            <asp:BoundField DataField="cummEV" HeaderText="Cumm-EV" SortExpression="cummEV" DataFormatString="{0:#,#.##}" ItemStyle-HorizontalAlign="Right" ItemStyle-VerticalAlign="Bottom" HeaderStyle-HorizontalAlign="Left" />
            <asp:BoundField DataField="cummDelay" HeaderText="Cumm-Delay" SortExpression="cummDelay" DataFormatString="{0:#,#.##}" ItemStyle-HorizontalAlign="Right" ItemStyle-VerticalAlign="Bottom" HeaderStyle-HorizontalAlign="Left" HeaderStyle-VerticalAlign="Bottom" />
            <asp:BoundField DataField="SPI1" HeaderText="SPI-1" SortExpression="SPI1" DataFormatString="{0:F3}" ItemStyle-HorizontalAlign="Right" ItemStyle-VerticalAlign="Bottom" HeaderStyle-HorizontalAlign="Left" HeaderStyle-VerticalAlign="Bottom" />
            <asp:BoundField DataField="SPI2" HeaderText="SPI-2" SortExpression="SPI2" DataFormatString="{0:F3}" ItemStyle-HorizontalAlign="Right" ItemStyle-VerticalAlign="Bottom" HeaderStyle-HorizontalAlign="Left" HeaderStyle VerticalAlign="Bottom" />

对于 CummDelay 列,它会发生。

4

1 回答 1

0

向我们发出在第一个数字位置使用#占位符的问题 - # 不打印数字(如果为零或不存在)。使用 0 代替强制数字。

例如,使用格式字符串作为{0:#,0.##}- 这将为 0 值打印 0。

另一种方法是使用 3 部分格式表达式 - 部分由分隔;- 第一个用于 +ve 值,第二个用于 -ve,最后一个用于零值。这样您就可以控制您希望打印的内容为零值。例如,您可以使用诸如{0:#,#.##;#;Zero}打印Zero0 值的表达式。

有关所有详细信息,请参阅文档 - http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

于 2012-12-03T07:24:24.947 回答