您的位置:首页 > 产品设计 > UI/UE

miniui-datagrid 根据条件合并动态行

2018-01-22 15:57 615 查看


//根据相同的合同编号进行动态合并相同的值

function onLoadSchedule(e) {

        var grid = e.sender;
 var len = grid.data.length;
        var i=0,num=1;
       //定义数组
       var marges=[];
      for(i;i<len;i++){

                if(i==len-1 ){
               var k=i+1-num;
               //动态添加合并的参数,rowIndex开始行数(0开始),columnIndex列数(0开始),rowSpan合并的行数,colSpan合并的列数
              marges.push({rowIndex: k, columnIndex: 1, rowSpan: num, colSpan: 0},
                                    {rowIndex: k, columnIndex: 2, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 3, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 4, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 5, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 6, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 12, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 13, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 14, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 15, rowSpan: num, colSpan: 0},
    {rowIndex:
k, columnIndex: 16, rowSpan: num, colSpan: 0});

                  num=1;
  grid.mergeCells(marges);
   
  continue;
}
//如果两个数的编号相等
if(grid.data[i].Code == grid.data[i+1].Code){
  num++;  //作为计数的参数
}
//编号不相等的时候进行合并
if( grid.data[i].Code != grid.data[i+1].Code){
//取出要合并的行数,i从0开始
var k=i+1-num; 
//动态添加合并的参数
marges.push({rowIndex: k, columnIndex: 1, rowSpan: num, colSpan: 0},
            {rowIndex: k, columnIndex: 2, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 3, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 4, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 5, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 6, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 12, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 13, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 14, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 15, rowSpan: num, colSpan: 0},
 {rowIndex: k, columnIndex: 16, rowSpan: num, colSpan: 0});
 //清空num值

           num=1;
}
 grid.mergeCells(marges);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐