dhtmlx表格求合计

该段代码展示了一个JavaScript函数,用于计算dhtmlx表格中所有单元格的值并显示总计。函数遍历表格的每一行和每一列,将非空单元格的值累加,然后将结果显示在新的行中。计算涉及的值包括能量、可用能量和完成率,并进行了格式化处理,以确保小数点后的位数不超过特定长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


function getshowValue()
  {
      var nextrownum= listGrid.getRowsNum()+1;
       var totalarray = new Array();
    for (var i = 0; i < listGrid.getColumnsNum(); i++) {
     totalarray[i] = 0;
    }
    for ( var i = 0; i < listGrid.getRowsNum(); i++) {
     for (var j = 0; j < listGrid.getColumnsNum(); j++) {
          var cellvalue=0;
         if(listGrid.cells2(i, j).getValue()!="")
         {
           cellvalue=listGrid.cells2(i, j).getValue();
         }
      totalarray[j] += parseFloat(cellvalue);
     }  
    }
    var totalrow = '';
    var pse = $("#plan").val().split("-");
    var smonth = parseInt(pse[1]);
       var emonth = parseInt(pse[2]);
       var energy;
       var canenergy;
       var lock;
       var rate;
       for ( var j = smonth; j <= emonth; j++) {
     if (j == smonth) {
       energy = totalarray[3];
       canenergy = totalarray[6];
       rate=(energy/canenergy)*100;
       lock = "0";
       energy = parseFloat(energy) + "";
     if (energy.indexOf(".") >= 0) {
      var ener = energy.split(".");
      if (ener[1].length > 2) {
       energy = ener[0] + "." + ener[1].substring(0, 2);
      }
     }
      canenergy = parseFloat(canenergy) + "";
     if (canenergy.indexOf(".") >= 0) {
      var ener = canenergy.split(".");
      if (ener[1].length > 2) {
       canenergy = ener[0] + "." + ener[1].substring(0, 2);
      }
     }
     rate = (parseFloat(rate)) / 100 + "";
     if (rate.indexOf(".") >= 0) {
      var rat = rate.split(".");
      if (rat[1].length > 4) {
       rate = rat[0] + "." + rat[1].substring(0, 4);
      }
     }
       totalrow += energy + ","+rate*100+",<input id='lock' name='lock'  type='checkbox'/>,"+canenergy+",";
     } else {
      var energyIndex = 4 + (j - smonth) * 3;
      var canenergyIndex = 6 + (j - smonth) * 3;
      energy = totalarray[energyIndex];
      canenergy = totalarray[canenergyIndex];
      rate=(energy/canenergy)*100;
        energy = parseFloat(energy) + "";
     if (energy.indexOf(".") >= 0) {
      var ener = energy.split(".");
      if (ener[1].length > 2) {
       energy = ener[0] + "." + ener[1].substring(0, 2);
      }
     }
      canenergy = parseFloat(canenergy) + "";
     if (canenergy.indexOf(".") >= 0) {
      var ener = canenergy.split(".");
      if (ener[1].length > 2) {
       canenergy = ener[0] + "." + ener[1].substring(0, 2);
      }
     }
     rate = (parseFloat(rate)) / 100 + "";
     if (rate.indexOf(".") >= 0) {
      var rat = rate.split(".");
      if (rat[1].length > 4) {
       rate = rat[0] + "." + rat[1].substring(0, 4);
      }
     }
      totalrow += energy + ","+rate*100+","+canenergy+",";
     }
    }
       listGrid.addRow(nextrownum,""+nextrownum+","+nextrownum+",合计,"+ totalrow,nextrownum-1);
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值