请教,用JS也行,或是我用的repeater 在后台写行。最后一行循环出每一列的总和。

解决方案 »

  1.   

    前台        <asp:Repeater ID="Repeater1" runat="server"><ItemTemplate>
                <%#Sum(Eval("那一列").ToString()) %>
            </ItemTemplate></asp:Repeater>后台    static int i=0;
        public string  Sum(string j)
        {
            i += Convert.ToInt32(j);
            return j;
            //最后 i 就是你想要的 结果~~~
        }你不就是想算出那列的和吗???这是最简单的方法~~~~~~不用循环~~~
      

  2.   

    就算你想点击一个按钮计算Repeater1 里面的值~~~ 那么直接把I调出来就行了
    这是速度最快的方法了~~~~没有比这个速度在快的了。
      

  3.   

    <asp:Repeater ID="Repeater1" runat="server">
                    <HeaderTemplate>
                        <table>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td>
                                <%# Eval("a1") %>
                            </td>
                            <td>
                                <%# Eval("a2") %>
                            </td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        <tr>
                            <td>
                                a1列的总和
                            </td>
                            <td>
                                a2列的总和
                            </td>
                        </tr>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>
    能用你这方法吗?
      

  4.   

    怎么不行啊????
    <asp:Repeater ID="Repeater1" runat="server">
                    <HeaderTemplate>
                        <table>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td>
                                <%# Eval("a1") %>
                            </td>
                            <td>
                                <%# Eval("a2") %>
                            </td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        <tr>
                            <td>
                               <%=OK()%>                        </td>
                            <td>
                               <%=OK()%>
                             </td>
                        </tr>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>    public string  OK()
        {
            return i;    }
    不就是这样吗???
      

  5.   


            /// <summary>
            /// 根据条件查询保健食品现金发放信息
             /// </summary>
            /// <param name="bonus"></param>
            /// <returns></returns>
            public static DataTable GetHrBonusInfo(GroupHrBonus bonus)
            {
                DataTable dt = myOperate.GetHrBonusInfo(bonus);
                DataRow dr = dt.NewRow();
                dr["person_name"] = "总计";
                dr["Attendance_Days"] = dt.Compute("sum(Attendance_Days)", "");
                dr["Change_Rest_Days"] = dt.Compute("sum(Change_Rest_Days)", "");
                dr["Absence_Days"] = dt.Compute("sum(Absence_Days)", "");
                dr["Business_Travel_Days"] = dt.Compute("sum(Business_Travel_Days)", "");
                dr["Meeting_Study_Days"] = dt.Compute("sum(Meeting_Study_Days)", "");
                dr["Social_Work_Days"] = dt.Compute("sum(Social_Work_Days)", "");
                dr["HC_Days"] = dt.Compute("sum(HC_Days)", "");
                dr["HC_Stand_Yuan"] = dt.Compute("sum(HC_Stand_Yuan)", "");
                dr["Actual_Pay"] = dt.Compute("sum(Actual_Pay)", "");
                dt.Rows.Add(dr);            return dt;
            }
    直接加在你的方法里面。返回Table
      

  6.   


    你这方法得出一个值到是可行。可写第二行的时候,得出的是第一行和第二行相加。
    double sum = i;
    i = 0.0;
    return sum;
      

  7.   


    <asp:Repeater ID="Repeater1" runat="server">
                    <HeaderTemplate>
                        <table>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td>
                                <%# Sum(Eval("a1").ToString(),1) %>
                            </td>
                            <td>
                                <%# Sum(Eval("a2").ToString(),2)%>
                            </td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        <tr>
                            <td>
                               <%=OK(1)%>                        </td>
                            <td>
                               <%=OK(2)%>
                             </td>
                        </tr>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>
        static int i_1=0;
        static int i_2=0;
        public string  Sum(string j,string k)
        {
            if(k=="1")
           {
            i_1 += Convert.ToInt32(j);
            return j;
           }
           else if(k=="1")     
           {
              i_2 += Convert.ToInt32(j);
              return j;
           } 
        }
       //值
       public string  OK(string k)
        {
          if(k=="1")
         {
            return i_1;
           }
    else if(k=="2")
    {
    return i_2;}    }手写的。。有点乱你凑活看把。。
      

  8.   

    我真汗??这是最简单的方法了消耗的速度基本为0要不你就用SQL语句!!!!select id,a,sum(a) as c from A没什么可想的。。
      

  9.   

    如果你数据量非常庞大。就用我的方法。。
    不要遍历repeater 。不但消耗内存。还浪费速度~~~
      

  10.   

    随便你了如果是我。。我就会直接用
    SQL 查询的时候算出来~~~~~
    没有必要在用程序实现了
    select id,a,sum(a) as A_sum from A