我正在使用DataFormatString将价格边界字段转换为货币格式,方法是使用DataFormatString =“{0:c}”作为我的详细信息视图。
但是,如果数据库中的值为空或null,而不是仅在我的详细信息视图中显示空白,则DataFormatString使其显示为$ 0.00。我试图设置NullDisplayText =“”但它似乎不起作用。
任何想法如何做到这一点?我是否需要使用ItemTemplate?
这就是我在.aspx
中获取数据的方法 <asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:TestString %>"
SelectCommand="SELECT [Price] FROM [DataBase] WHERE ([ID] = @ID)">
这是绑定数据的代码:
<asp:BoundField DataField="Price" HeaderText="Price:" SortExpression="Price"
DataFormatString="{0:c}" NullDisplayText="" />
答案 0 :(得分:0)
代码隐藏中的类似内容 - 考虑查找并使用数据网格的Databind事件来简化:
If (value is DBNull) return "" else return FormattedValue(value)
这可能不是你想要的,但它完全符合你的要求;你只需要使用DataGrid的ItemDataBound事件就可以使用它。根据需要返回非null值;为清晰起见,我使用了FormattedValue。