1

我正在使用 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="" />
4

1 回答 1

0

代码隐藏中的类似内容 - 考虑为您的数据网格查找并使用 Databind 事件以使其更容易:

If (value is DBNull) return "" else return FormattedValue(value)

这可能不是你想要的,但它正是你想要的;您只需要使用 DataGrid 的 ItemDataBound 事件即可使用它。随心所欲地返回非空值;为了清楚起见,我使用了 FormattedValue。

于 2015-09-25T21:18:13.033 回答