Gridview Totals per Row

时间:2011-09-07 19:57:29

标签: c# asp.net gridview

尝试做一些应该相当直接的事情,但试图让它运转起来绞尽脑汁。基本上我想要做的就是在gridview中有一个计算列,它将基于同一行中的两个值。

即。一个Unit_Cost(money)和一个rate(nvarchar(20))列被绑定到DB但是我希望从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 = ...我的代码的一部分。我相信对你们其中一个人来说这很简单,非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

如果_totalUnitPrice是字符串,则需要将数值转换为字符串,然后再将其传入。

这样做的一种方法是:

 _totalUnitPrice = (run.Unit_cost * Convert.ToInt16(run.Rate)).ToString();