模板列是一个textbox,里面是分数,我想计算一下总分,请教高手

解决方案 »

  1.   

    var dt = document.all.<%= yourGrid.ClientID %>
    var sum = 0;for(var i=1;i<dt.rows.length;i++)
    {
        sum = sum + dt.rows(i).cells(2).childNodes(0).value;
    }sum就是你要的值
    cells(2)的2 是你的TextBox所在列的索引,你可以修改它为你要的值
      

  2.   

    客户端的Grid就是table
    var dt = document.all.<%= yourGrid.ClientID %>可以找到tablerows就是table的行,cells就是列
    childNodes(0)就是找到第i行的第2列的那个控件
      

  3.   

    改写一下:
    <script language="javascript1.2">
    var dt = document.all.<%= yourGrid.ClientID %>
    var sum = 0;for(var i=1;i<dt.rows.length;i++)
    {
        sum = sum + dt.rows(i).cells(2).childNodes(0).value*1;
    }</script>
      

  4.   

    呵呵,楼上的var sum =0.0更好一些。
    另外你需要判断header行和footer行,楼上直接var i=1开始当然可以,但是footer你怎么判断呢,所以应该判断是否有text控件才可以
      

  5.   

    楼上的,footer可以考虑不显示:)
    如果不是text控件,就没有意义了
    那就没有这么做的必要
      

  6.   

    希望对你有帮助
    function GetTotalPrice()
    {  var iCount=document.getElementById("CartTb").tBodies[0].rows.length;//获得一共有多少行,我用的是tbody,当然tbody标签必须存在
      var cProductItemTotalPrice;
      var CartTotalPrice=0.00;
    for(var i=0; i<iCount; i++)
    {//这里是一种方法,data控件里面的控件命名规则是,table名 加上 __ctl 加上第几行,加上 __控件名
         cProductItemTotalPrice="RepeaterCart__ctl"+i+"_ProductItemTotalPrice";
    CartTotalPrice += 1*document.getElementById(cProductItemTotalPrice).innerText;              
    }      
      document.getElementById("LBTotalPrice").innerText=CartTotalPrice;

    }
      

  7.   

    brightheroes(闭关|那一剑的风情)
    我用上面的方法,呵呵
      

  8.   

    另外var sum =0.0 and 加和的时候乘1个1,可以解决double值得问题
      

  9.   

    用循环然后用findcontrol方法找到控件,求总值
      

  10.   

    我想在每一个分数打完之后都计算一下,我加上if(dt.rows(i).cells(4).childNodes(0).value !="")判断是否有问题?为什么总是报对象为空或不是对象
      

  11.   

    hehe,我想到了,还有个footer,散分