用Repeate在网面上显示了两列
列1 列2
100  50
289  34
我现在想再显示一个计算列,是前面两列的比例。
列1 列2 列3
100 50  50%        (列2/列1)%
289 34  11.76%

解决方案 »

  1.   

    <asp:Repeater id="Repeater1" runat="server">
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem,"列3")%>
    <asp:Label Runat="server">%</asp:Label>
    </ItemTemplate>
    </asp:Repeater>
      

  2.   

    <ItemTemplate>
    <tr>

    <td width="50">
    列1<%# DataBinder.Eval (Container.DataItem,"列1字段名")%>
    </td>
    <td width="50">
    列2<%# DataBinder.Eval (Container.DataItem,"列2字段名")%>
    </td>
    <td>
    列3<%# MakeStr(DataBinder.Eval (Container.DataItem,"列1字段名"),DataBinder.Eval (Container.DataItem,"列2字段名"))%>
    </td>
    </tr>
    </ItemTemplate> aspx.cs中写一个protected的方法
    protected string MakeStr (Object obj1,Object obj2)
    {
    int num1 =int.Parse(obj1.ToSting());
    int num2 =int.Parse(obj2.ToSting());
    double num3 = num2/num1*100;
    string num = num3.ToString();
    return num; }
      

  3.   

    先用sql语句:select 列1,列2,100×列1/列2 from 表
    然后在绑定 Repeater 控件
    在按照上述方法来做
      

  4.   

    string num = num3.ToString()+"%";
    return num;
    楼主参考。
      

  5.   

    int不行的换成double类型
    double num1 =double.Parse(obj1.ToSting());
    double num2 =double.Parse(obj2.ToSting());
    double num3 = num2/num1*100;
      

  6.   

    按adandelion(猪头) 的做法已经成功,想再问一下,如果我想把这个百分比如:20.02%,显示成
    圆柱图表形式怎么做,这个问题解决会另外开贴给分。
      

  7.   

    在你的原显示非分比的列中,放一个图片,然后,把此宽度绑定为它的宽度即可.
    <img src=xxx.gif width=20.02%>
      

  8.   

    解决:我用<img src=xxx.aspx?height=y> ,在xxx.aspx中生成并输出一张长度主Y的图就可以了。
      

  9.   

    在你的原显示非分比的列中,放一个图片,然后,把此宽度绑定为它的宽度即可.
    <img src=xxx.gif width=20.02%>
    -----------------
    好办法,学习!