asp.net repeater统计表某列值

转载 2012年11月24日 20:11:00

方式一

decimal sum = 0;  

  protected void RepMain_ItemDataBound(object sender, RepeaterItemEventArgs e)  

  {  

    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)  

    {  

    string num = DataBinder.Eval(e.Item.DataItem, "DXFY").ToString().Trim();  

    if (!num.Equals(""))  

            sum += Convert.ToDecimal(num);  

     }  

            this.lblSum.Text = sum.ToString() + "元";  

 }  

 

方式二

<script type="text/javascript">              
        $(function () {              
            StatSum("lblAAcount", "spAAcount");  
            StatSum("lblBBcount", "spBBcount");  
        }  
        function StatSum(lblId, spId) {  
            var sum = 0;  
            $("span[id$='" + lblId +"']").each(function () {  
                sum += parseInt($(this).text());  
            });  
            $("#" + spId).text(sum);  
        }  
</script>  
<asp:Repeater ID="rptTest" runat="server" >  
   <HeaderTemplate>  
     <table>                                  
       <tr>  
        <th>年度</th>                                     
        <th>AA总人数</th>  
        <th>BB总人数</th>                                      
       </tr>  
   </HeaderTemplate>  
   <ItemTemplate>  
      <tr>  
       <td><%#Eval("year")%></td>  
       <td><asp:Label runat="server" ID="lblAAcount" Text='<%#Eval("AAcount")%>'></asp:Label></td>  
       <td><asp:Label runat="server" ID="lblBBcount" Text='<%#Eval("BBcount")%>'></asp:Label></td>  
      </tr>  
   </ItemTemplate>  
   <FooterTemplate>  
      <tr>  
        <td>合计</td>  
        <td><span id="spAAcount"></span></td>  
        <td><span id="spBBcount"></span></td>  
      </tr>  
     </table>  
    </FooterTemplate>  
</asp:Repeater>

 

方式三

 
如何使用js对Repeater生成的table进行列和统计?
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse; width:400px;">
  <tr align="center" style="height:25px;">
  <th style="width:50px; line-height:120%;">序号</th>
  <th style="width:150px; line-height:120%;">样文</th>
  <th style="width:200px; line-height:120%;">录入列</th>
  </tr>

  <asp:Repeater ID="Repeater1" runat="server" 
  onitemdatabound="Repeater1_ItemDataBound">
  <ItemTemplate>
  <tr align="right" style="height:25px;">
  <td align="center"><%# DataBinder.Eval(Container.DataItem, "ptsjtmmx_xh")%></td>
  <td id="s1" style="padding-right:5px;"><%# DataBinder.Eval(Container.DataItem, "ptsjtmmx_je")%></td>
  <td align="right"><input id="txtJE" type="text" t_value="" o_value="" style="width:200px; border:0px none white; height:25px; text-align:right;" onKeyPress="fkeyPress(this);" onkeyup="fkeyUp(this);" /></td>
  </tr>
  </ItemTemplate>
  </asp:Repeater>

  <tr align="center" style="height:25px;">
  <td style="width:50px; line-height:120%;">合计:</td>
  <td id="Sum1" style="width:150px; line-height:120%;"></td>
  <td id="Sum2" style="width:200px; line-height:120%;"></td>
  </tr>
  </table>

------解决方案--------------------------------------------------------
js DOM进行 啊

document.getElementById("设置个tableID").rows[i].cells[j]得到各个单元格,累加就可以了
------解决方案--------------------------------------------------------
    <script type="text/javascript">
        $(document).ready(function () {
            $("#tbid tr:last td:eq(0)").html("合计:" + ($("#tbid tr").length - 2));
            var val1 = 0;
            var val2 = 0;
            $("#tbid tr:gt(0)").not(":last").each(function () {
                val1 += parseInt($(this).find("td:eq(1)").html());
                val2 += parseInt($(this).find("td:eq(2)").html());
            })
            $("#tbid tr:last td:eq(1)").html(val1);
            $("#tbid tr:last td:eq(2)").html(val2);
        })
    </script>

    <div>
        <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse; width: 400px;" id="tbid">
            <tr align="center" style="height: 25px;">
                <th style="width: 50px; line-height: 120%;">序号</th>
                <th style="width: 150px; line-height: 120%;">样文</th>
                <th style="width: 200px; line-height: 120%;">录入列</th>
            </tr>
            <tr align="center" style="height: 25px;">
                <td style="width: 50px; line-height: 120%;">12</td>
                <td style="line-height: 120%;">1</td>
                <td style="line-height: 120%;">2</td>
            </tr>
            <tr align="center" style="height: 25px;">
                <td style="width: 50px; line-height: 120%;">12</td>
                <td style="line-height: 120%;">1</td>
                <td style="line-height: 120%;">2</td>
            </tr>
            <tr align="center" style="height: 25px;">
                <td style="width: 50px; line-height: 120%;">12</td>
                <td style="line-height: 120%;">1</td>
                <td style="line-height: 120%;">2</td>
            </tr>
            <tr align="center" style="height: 25px;">
                <td style="width: 50px; line-height: 120%;">合计:</td>
                <td id="Sum1" style="width: 150px; line-height: 120%;"></td>
                <td id="Sum2" style="width: 200px; line-height: 120%;"></td>
            </tr>
        </table>
    </div>

 

 

方式四

循环绑定的数据表累加

 

asp.net repeater统计表某列值

asp.net repeater统计表某列值
  • donet_expert
  • donet_expert
  • 2014年07月03日 22:47
  • 743

Repeater 汇总某一列(序号,分页) 最简单方法

2,Repeater汇总某一列                                  序号            所在单位            所在部门  ...
  • ououou123456789
  • ououou123456789
  • 2011年01月05日 16:29
  • 1877

asp.net中Repeater中嵌套Repeater来显示跟外层Repeater数据相关的其他信息

在实际开发中,比如在统一权限管理系统中,我们预先定义了一些列角色,我们点击每一个角色,进入一个应用系统列表,我们要知道每个应用系统中,该角色已经拥有多少菜单访问权限,我们就可以通过Repeater中嵌...
  • taomanman
  • taomanman
  • 2015年07月03日 16:38
  • 1815

ajax刷新ASP.NET Repeater控件的数据

使用repeater控件时,遇到这样一个问题,
  • u010371458
  • u010371458
  • 2014年01月25日 16:27
  • 1682

Repeater和AspnetPager实现分页显示及固定表头

repeater控件和AspnetPager控件配合使用,并附带冻结表头效果
  • xiaouncle
  • xiaouncle
  • 2016年08月06日 19:12
  • 1794

ASP.net Repeater控件隐藏列 自写一个测试

function fun() { var tb = document.getElementById("table1"); var len = tb....
  • suntanyong88
  • suntanyong88
  • 2011年09月09日 13:16
  • 2302

asp.net 鼠标移入Repeater某一行时改变颜色并且checkbox列被选中

/*被选中*/ function OnCheck(event) { var obj = event.srcElement ? event.srcElement ...
  • taomanman
  • taomanman
  • 2011年09月17日 21:40
  • 1597

asp.net:repeater嵌套(常用于新闻等在首页归类显示)

using System; using System.Configuration; using System.Collections.Generic; using System.Linq; using...
  • judyge
  • judyge
  • 2015年11月01日 22:02
  • 476

asp.net Repeater拖拽实现排序并同步排序字段到数据库中

数据库表中有一个单位表,里面包括ID、Name、Order等字段,现在有个后台管理功能,可以设置这些单位在某些统计表格中的先后显示顺序,于是想到用拖拽方式实现,这样操作起来更简便。      于是就动...
  • taomanman
  • taomanman
  • 2015年12月01日 13:11
  • 2891

ASP.NET巧妙利用repeater控件和checkBox控件实现批量操作

一般的CMS(Content Manager System)中,不可避免的会涉及批量操作。比如显示一页数据,一个良好的设计都会加上批量删除、批量推荐等操作。    在ASP.NET中,做这样的批量操...
  • yangyuankp
  • yangyuankp
  • 2012年05月20日 20:27
  • 8235
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net repeater统计表某列值
举报原因:
原因补充:

(最多只允许输入30个字)