当GridViewz中的Cells[4]。Text为空时,出错呀 如何解决
当GridViewz中的Cells[4]。Text为空时,出错呀 怎么解决
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string sum = "";
if (e.Row.RowType == DataControlRowType.Header)
{
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
sum += Convert.ToDouble(e.Row.Cells[4].Text)*0.7 + Convert.ToDouble(e.Row.Cells[5].Text)*0.2 + Convert.ToDouble(e.Row.Cells[6].Text)*0.1;
e.Row.Cells[7].Text = sum;
}
}
------解决方案--------------------
e.Row.Cells[4].Text先判断下吧
或者三目运算符解决
------解决方案--------------------
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string sum = "";
if (e.Row.RowType == DataControlRowType.Header)
{
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
sum += Convert.ToDouble(e.Row.Cells[4].Text)*0.7 + Convert.ToDouble(e.Row.Cells[5].Text)*0.2 + Convert.ToDouble(e.Row.Cells[6].Text)*0.1;
e.Row.Cells[7].Text = sum;
}
}
------解决方案--------------------
e.Row.Cells[4].Text先判断下吧
或者三目运算符解决
------解决方案--------------------
- C# code
sum += Convert.ToDouble(e.Row.Cells[4].Text)*0.7 + Convert.ToDouble(e.Row.Cells[5].Text)*0.2 + Convert.ToDouble(e.Row.Cells[6].Text)*0.1; 把这个分开,一个一个写! double a = Convert.ToDouble(e.Row.Cells[4].Text == "" ? 0 : e.Row.Cells[4].Text); double b = Convert.ToDouble(e.Row.Cells[5].Text == "" ? 0 : e.Row.Cells[5].Text); double c = Convert.ToDouble(e.Row.Cells[6].Text == "" ? 0 : e.Row.Cells[6].Text); sum += a+b+c;
------解决方案--------------------
- C# code
//1. if (e.Row.Cells[4].Text.ToString() != "") { //处理 } //2. //模板列的话这么处理 TextBox txtPrice = e.Row.FindControl("tbPrice") as TextBox; if (txtPrice.Text.ToString() == "") { //处理 } else { //处理 }