遍历GridView中的行,然后取该行中每列中的值,并计算第5行到第16行的平均值,最后将每列的值存储到数据库中。请问这样的功能应该怎样实现,有没有代码实例可以参考。

解决方案 »

  1.   

    应该很难。因为GridView输出客户端时,己是HTML代码
      

  2.   

    foreach (GridViewRow dvr in Gv.Rows)
    {
    dvr.Cells[0].Text//第一列的值
    dvr.Cells[1].Text//第二列的值
    dvr.Cells[2].Text//第三列的值
    }
      

  3.   


    那用GridView+TextBox模拟Excel录入还有什么意义啊?
      

  4.   

     在行绑定事件中记录5-16行的数据存在hastable中,然后在从hastable中读取求平均值
      

  5.   

    通过这种方法取到值,爱怎么算怎么算去。。如果有TextBox的话!
    foreach (GridViewRow dvr in Gv.Rows)
    {
    TextBox txt1 = dvr.FindControl("TextBox1") as TextBox;//找到TextBox 
    }
      

  6.   

    在OnRowDataBound事件里,把数据保存在hashtable中,遍历hashtable,得到第5列到~16列的平均值,最后在把hashtable中的数据保存到数据库中。
      

  7.   


    “OnRowDataBound”这个事件在什么时候触发???
    GridVIew中的很多TextBox开始是没有数据的,也就是在给GridVIew绑定的数据源中是没有数据的。要保存到数据库的数据,是用户手动输入的。
      

  8.   

    并计算第5行到第16行的平均值
    是列吧?
     Hashtable ht = new Hashtable();
                //5到7列
                for (int i = 0; i < this.GridView1.Rows.Count; i++)
                {
                    int sum = Convert.ToInt32((this.GridView1.Rows[i].FindControl("textbox5") as TextBox).Text.Trim()
                        + Convert.ToInt32((this.GridView1.Rows[i].FindControl("textbox6") as TextBox).Text.Trim()
                        + Convert.ToInt32((this.GridView1.Rows[i].FindControl("textbox7") as TextBox).Text.Trim())));
                    ht.Add(i, sum);
                }
                //ht就是了 如果这样不方便 你可以双重循环 笨方法
      

  9.   


    用这一个应该也一样。
    foreach (GridViewRow dvr in Gv.Rows)
    {
    TextBox txt1 = dvr.FindControl("TextBox1") as TextBox;//找到TextBox 
    }
    如果用,
    在OnRowDataBound事件里,把数据保存在hashtable中,遍历hashtable,得到第5列到~16列的平均值,最后在把hashtable中的数据保存到数据库中。应该怎样实现,还希望各位大侠多多赐教。