博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用js实现gridview某列自动求和,或某行自动求和
阅读量:5054 次
发布时间:2019-06-12

本文共 1697 字,大约阅读时间需要 5 分钟。

<script type="text/javascript">

      //实现某列自动求和:

      function colSum(colIndex)//colIndex指定列的索引

     {

           //根据gridview的客户端ID(GridView1.ClientID)获取编译后此gridview的行数

           var trs=document.getElementById("<%=GridView1.ClientID%>").getElementByTagName("TR")

           var sum=0;

           //i表示行号,行号从1开始(注意:如果没有表头可以从1开始,有表头就要把表头去掉)

           for(var i=4;i<trs.length;i++)

          {

                //把每行中指定列的值相加

                sum+=trs[i].document.getElementByTagName("td")[colIndex].childNodes[0].value*1;

          }

          //把结果赋给指定的单元格

          trs[3]].document.getElementByTagName("td")[colIndex].childNodes[0].value=sum;

     }

     //实现某行中的几个单元格自动求和:

      function rowSum(rowIndex)//rowIndex指定行的索引

       {
         
          var trs=document.getElementById("<%=GridView1.ClientID%>").getElementsByTagName("TR")
          //获取指定行中某单元格的值
          var Value4=(trs[rowIndex].getElementsByTagName("td")[4].childNodes[0].value)*1;
          var Value5=(trs[rowIndex].getElementsByTagName("td")[5].childNodes[0].value)*1;
          var Value6=(trs[rowIndex].getElementsByTagName("td")[6].childNodes[0].value)*1;
          var Value7=(trs[rowIndex].getElementsByTagName("td")[7].childNodes[0].value)*1;
          var Value8=(trs[rowIndex].getElementsByTagName("td")[8].childNodes[0].value)*1;
        
          trs[rowIndex].getElementsByTagName("td")[3].childNodes[0].value=Value4+Value5+Value6+Value7+Value8;
      }

</script>

 

 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" SkinID="GridViewStyle" >                        <Columns>

                       <asp:TemplateField>
                                 <ItemTemplate>
                                     <asp:TextBox ID="txtCeShi" runat="server" Text='<%# Eval("CeShi") %>' Width ="150px"  οnblur="colSum(1);rowSum(this.parentElement.parentElement.rowIndex)"></asp:TextBox>

                                 </ItemTemplate>

                            </asp:TemplateField>

 <Columns>

</asp:GridView>

 onblur是当鼠标离开此文本框时触发

谁还有更好的方法吗?总觉得行求和的时候,一个单元格一个单元格的取值然后再相加有点复杂......

转载于:https://www.cnblogs.com/lanbingyu0801/archive/2012/06/09/2543350.html

你可能感兴趣的文章
Spring
查看>>
Linux 系统的/var目录
查看>>
Redis学习---Redis操作之其他操作
查看>>
WebService中的DataSet序列化使用
查看>>
BZOJ 1200 木梳
查看>>
【Linux】【C语言】菜鸟学习日志(一) 一步一步学习在Linxu下测试程序的运行时间...
查看>>
SpringBoot使用其他的Servlet容器
查看>>
关于cookie存取中文乱码问题
查看>>
mysql 多表管理修改
查看>>
group by order by
查看>>
Oracle学习之简单查询
查看>>
log4j配置
查看>>
linux 配置SAN存储-IPSAN
查看>>
java学习笔记之String类
查看>>
pymysql操作mysql
查看>>
Linux服务器删除乱码文件/文件夹的方法
查看>>
牛腩记账本core版本源码
查看>>
Word Break II
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
jdk从1.8降到jdk1.7失败
查看>>