假如把如下数据绑定到GriView1上,再用min_lvl/max_lvl: 
min_lvl    max_lvl 
5            8 
6            4 
null          null 
0            0 
得到结果要是如下 
min_lvl  max_lvl      aa 
5          8        0.652 
null      null  
0          0        0 代码该怎么写??

解决方案 »

  1.   

    从服务器资源管理器里把表拖到设计界面上,vs会自动为你创建一个GridView及SqlDataSource。
    编辑SqlDataSource,指定Sql语句,改成SELECT [min_vlv], [max_vlv], min_vlv/max_vlv as aa FROM [Table1]
      

  2.   

    是要写SQL,还是在代码中设置
      

  3.   


    或者手动写sql语句
    SELECT [min_vlv], [max_vlv], min_vlv/max_vlv as aa FROM [Table1] 返回一个datatable 
    然后 GridView.DataSource=datatable ;GridView.DataBind();这样也可以绑定
      

  4.   

    加一个模板列:<asp:TemplateField HeaderText="aa">
        <ItemTemplate>
            <%# Convert.ToDouble(Eval("min_lvl")) / Convert.ToDouble(Eval("max_lvl")) %>
        <ItemTemplate>
    </asp:TemplateField>
      

  5.   

    如果GridView1里有一列数据显示如下:
    标准效率

    45.600
    54.400
    空我把GridView1的ShowFooter="True",要得到效率为50.00,代码改怎么写,以上问题解决!!呆会把代码帖上!
    也就是45.600+54.400/2=50.00,也就是做平均统计;现在不知道45.600在VS里对应什么类型!! protected void GridView1_PreRender(object sender, EventArgs e)
    {
            string stt = string.Empty;
            double sum2 = 0;
            int count2 = 0;
             foreach (GridViewRow row in GridView1.Rows)
            {
                if (stt != "")
                {
                    sum2 += double.Parse(stt);//报错,输入字符串的格式不正确。
                    count2++;
                }
             }
              double avg2 = sum2 / count2;
              GridView1.FooterRow.Cells[17].Text = avg2.ToString("f");}
      

  6.   

     sum2 += double.Parse(stt);//报错,输入字符串的格式不正确。 
     不是输出的问题!!
      

  7.   

    数据显示是
    空白
    45.600
    54.400
    空白
     条件应该是if (stt != "")吧?
      

  8.   

    还有,你怎么会在GridView的PreRender里面做操作?
    应该是在DataBound里面才对啊
      

  9.   

    PreRender跟DataBound一样可以操作,其他统计我也是在PreRender里面写的!!但现在就是
    protected void GridView1_PreRender(object sender, EventArgs e) 

            string stt = string.Empty; 
            double sum2 = 0; 
            int count2 = 0; 
            foreach (GridViewRow row in GridView1.Rows) 
            { 
                if (stt != "")//你给stt赋值了吗 
                { 
                    sum2 += double.Parse(stt);//报错,输入字符串的格式不正确。 
                    count2++; 
                } 
            } 
              double avg2 = sum2 / count2; 
              GridView1.FooterRow.Cells[17].Text = avg2.ToString("f"); } 
    GridView1.FooterRow.Cells[17].Text = avg2.ToString("f"); 显示不了,显示输入字符串的格式不正确!!
      

  10.   

    那你回答我的问题了吗"//你给stt赋值了吗 "
    你看看你的代码,出来一开始给stt赋初始值string.Empty之外,哪里还有再次赋值
    你double.Parse(string.Empty);当然报错啦