【发布时间】:2013-11-27 08:16:17
【问题描述】:
当任何单元格的数据库中有空值时,我看到错误,无法将对象从 DBNull 转换为其他类型。 - Asp.net 网格视图
<asp:TemplateField ItemStyle-Width="120" HeaderText="Price Difference">
<ItemTemplate>
<%# PercentageChange(DataBinder.Eval(Container.DataItem, "FirstPrice"),DataBinder.Eval(Container.DataItem, "SecondPrice")) %>
</ItemTemplate>
</asp:TemplateField>
C#
protected string PercentageChange(object client_Price, object second_price)
{
double price1 = Convert.ToDouble(client_Price);
double price2 = Convert.ToDouble(second_price);
double percentagechange = ((price1 - price2) / price2) * 100;
return percentagechange ;
}
【问题讨论】:
-
哦
DBNull,我有多讨厌你?让我数一数……stackoverflow.com/a/9632050/23354 -
我确实有另一个问题,假设 price1 是 dbml 表的属性,标记为位并放置在 datagridview 的第 7 列。 bool canViewInOut = (dataGridView1.Rows[i].Cells[ 7].Value == DBNull.Value || !Convert.ToBoolean(dataGridView1.Rows[i].Cells[7].Value)) ?假:真;