代码如下:function moveToKHSozai() {    var junniColumnCount = junniGrid.getColumnCount();
    for(var i = 0; i < junniGrid.getRowsNum(); i++) {
        if (junniGrid.cellByIndex(i, 0).getValue() != '') {
            alert(i);
            var tmpjunniData = "";
            for (var k = 2; k < junniColumnCount; k++) {
                tmpjunniData = tmpjunniData + "," + junniGrid.cellByIndex(i, k).getValue() 
            }
            //kouhoGrid.addRow("",tmpjunniData,kouhoGrid.getRowsNum());
            junniGrid.deleteRow(i);
            i--;
        }
    }
       
}

解决方案 »

  1.   


    function moveToKHSozai() {     var junniColumnCount = junniGrid.getColumnCount(); 
        for(var i = junniGrid.getRowsNum()-1;i>=0;) { 
            if (junniGrid.cellByIndex(i, 0).getValue() != '') { 
                alert(i); 
                var tmpjunniData = ""; 
                for (var k = 2; k < junniColumnCount; k++) { 
                    tmpjunniData = tmpjunniData + "," + junniGrid.cellByIndex(i, k).getValue() 
                } 
                //kouhoGrid.addRow("",tmpjunniData,kouhoGrid.getRowsNum()); 
                junniGrid.deleteRow(i); 
                i--; 
            } 
        } 
          
    }
      

  2.   

     junniGrid.deleteRow(i); 
    在这上边打印I,能输出几次呢
      

  3.   

    这样不行,他在嵌套循环里还要用i,楼主,你看看这样行不行:
    for(var i = 0; i < junniGrid.getRowsNum(); ) {
            if (junniGrid.cellByIndex(i, 0).getValue() != '') {
                alert(i);
                var tmpjunniData = "";
                for (var k = 2; k < junniColumnCount; k++) {
                    tmpjunniData = tmpjunniData + "," + junniGrid.cellByIndex(i+1, k).getValue();//这里不要用i++,不然i的值又变了
                }
                //kouhoGrid.addRow("",tmpjunniData,kouhoGrid.getRowsNum());
                junniGrid.deleteRow(i);
            } 
      

  4.   

    反着删的话,你里面那个嵌套循环也得改,不然tmpjunniData的内容就不对了