今天做一个测评系统,需要对score(总分)字段进行统计,以计算整个gridview的平均分,遇到了不少的困难!

  

   去CSDN求助,最后终于搞定!


   过程记下,希望给像我这样的fresher有点帮助!(GridView并未添加任何模板)


  首先我利用如下代码取得:


   string abc = GridView1.Rows[GridView1.SelectedIndex].Cells[2].Text.ToString(); 

   事实证明是错误的,结果没有任何显示,然后就求助,查找搜索!


  终于在CSDN达人帮助下,有所斩获:


          <%

        int sum = 0;

        for (int i = 0; i  < this.GridView1.Rows.Count; i++) 

        { 

            GridViewRow row=this.GridView1.Rows[i];

            sum=sum+Convert.ToInt32(row.Cells[21].Text.ToString());

        }

            Response.Write(sum.ToString());

               

        

         % > 


定义递增变量,其Max值为GridView的记录数,然后进行递增,在递增的过程中,取得特定列,就是21列(score)的值(注意类型的


转换),进行求和,最后OK了!


到此为止,已经实现取得某一字段的值,并且求和了!求平均值就不用多讲拉o(∩_∩)o...!


取得特定条件的记录的和!

某列的值求和已经实现 ,又出现了新的问题,因为测评的教师有5个,而票数11票,怎么取出每个人有几张票呢?


尝试了多次均未果,后来想到用遍历的方法,不知道是否是好方法o(∩_∩)o...哈哈


就是先取出不重复的教师,然后遍历gridview,查询属于某教师的选票,期间定义一个变量k,初始为0,碰到属于当前教师的票数


则++,这样可以计算平均票数!


程序如下:


                Response.Write("<font color=#336699><br />");
                Response.Write("本系统共收录测评记录");
                Response.Write(GridView1.Rows.Count.ToString());
                Response.Write("条;其中参加测评的教师有");
                Response.Write(GridView2.Rows.Count.ToString());
                Response.Write("位,每位老师的测评统计如下:(数据的关系,各项均取整数,例如:86.7,取值86;)<br /><br /><br />");
                Response.Write("</font>");

                //定义取和函数

                Response.Write("<table width=500 align=center>");
                Response.Write("<tr><td>教师姓名</td><td>测评总分</td><td>测评人次</td><td>平均分</td><td>测评评价</td></tr>");

                //取得姓名数组
                for (int j = 0; j < GridView2.Rows.Count; j++)
                {

                    GridViewRow rowj = this.GridView2.Rows[j];
                    string jiaoshi = rowj.Cells[0].Text.ToString();


                    Response.Write("<tr>");
                    Response.Write("<td style=\"width:100px;height:20px;\">");
                    Response.Write(jiaoshi);
                    Response.Write("</td>");
                    //====================================================================
                    int sum = 0;
                    int k = 0;
                    for (int i = 0; i < this.GridView1.Rows.Count; i++)
                    {
                        GridViewRow rowi = this.GridView1.Rows[i];
                        string name = rowi.Cells[2].Text.ToString();

                        if (name == jiaoshi)
                        {
                            k++;
                            sum = sum + Convert.ToInt32(rowi.Cells[3].Text.ToString());
                        }


                    }

                    Response.Write("<td style=\"width:100px;height:20px;\">");
                    Response.Write(sum);
                    Response.Write("</td>");
                    Response.Write("<td style=\"width:100px;height:20px;\">");
                    Response.Write(k);
                    Response.Write("</td>");
                    Response.Write("<td style=\"width:100px;height:20px;\">");
                    if (k != 0) //判断是否参加测评,否则为0,k作为除数不能为0;
                    {
                        Response.Write(sum / k);
                    }
                    else
                    {
                        Response.Write("0");
                    }
                    Response.Write("</td>");
                   
                   
                    string pingjia;
                    if (sum / k >= 95) { pingjia = "优秀"; }
                    else if (sum / k >= 85) { pingjia = "良好"; }
                    else if (sum / k >= 75) { pingjia = "中等"; }
                    else if (sum / k >= 65) { pingjia = "及格"; }
                    else { pingjia = "不及格"; }
                    Response.Write("</td>");
                    Response.Write("<td style=\"width:100px;height:20px;\">");
                    Response.Write(pingjia);
                    Response.Write("</td>");
                    Response.Write("</tr>");


                }
                Response.Write("</table>");

一天就做了这么多事情,还有一项限制IP地址单位时间访问次数没有搞定,期待明天会有收获!

posted on 2007-10-02 10:38  二两脆皮加粉  阅读(5169)  评论(2)    收藏  举报
二两脆皮加粉