试图做一些应该相当直接的事情,但是试图让它工作的时候绞尽脑汁。基本上我想要做的是在gridview中有一个计算列,它将基于同一行中的两个值。Gridview每行总数
即Unit_Cost(money)和rate(nvarchar(20))列绑定到数据库,但我想总成本作为从2计算。我正在使用BLL来检索从我DAL数据,并相信此代码应工作 - 但它不:(
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
CropManagementDAL.TBL_RunRow run = (CropManagementDAL.TBL_RunRow)
((System.Data.DataRowView)e.Row.DataItem).Row;
if (!run.IsUnit_costNull())
{
if (!run.IsRateNull())
{
_totalUnitPrice = run.Unit_cost * Convert.ToInt16(run.Rate);
e.Row.Cells[5].Text = _totalUnitPrice.ToString();
}
}
}
}
我得到一个错误“输入字符串的不正确的格式。”并强调了我的_totalUnitPrice = ...部分我确信这对你们中的一个人很容易,你们的帮助非常感谢!
什么_totalUnitPrice的数据类型,也run.Unit_cost,尽量明确地设置这些。 –
或者在某处可能有一个空值,为调试目的放一个try/catch –
不应该是null,否则它不会得到那么远,因此我的过程如果语句。你能建议我怎么实现try/catch,因为它没有什么东西我以前设置... – will