GridView用到的地方确实很多,主要是用来呈现一些数据列表,往往我们需要对某些数据进行汇总,让用户很直观的看出来总数是多少,实现其实非常简单,只是一个属性而已。
1.将GridView的ShowFooter属性设置为"True"
2.在RowDataBound里面计算总数,如下:
private double sumReq = 0; private double sumOut = 0; protected void dgv_RowDataBound(object sender, GridViewRowEventArgs e) { int m; for (m = -1; m < dgv.Rows.Count; m++) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor,this.style.backgroundColor='#00A9FF'"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c"); } } try { if (e.Row.RowIndex >= 0) { sumReq += Convert.ToDouble(e.Row.Cells[1].Text); sumOut += Convert.ToDouble(e.Row.Cells[7].Text); } else if (e.Row.RowType == DataControlRowType.Footer) { e.Row.Cells[0].Text = "物料需求总数:"; e.Row.Cells[1].Text = sumReq.ToString() ; e.Row.Cells[6].Text = "实际发料总数:"; e.Row.Cells[7].Text = sumOut.ToString(); } } catch (Exception ex) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "<script>alert('" + ex.Message + "')</script>", false); } }
效果如下图: