MiniUI框架合并单元格

在项目中遇到合并单元格的问题,所以总结一下。 
用的是miniUI框架,所以只谈miniUI中的单元格合并。 
(1)必须添加onLoad="onLoad" 
(2)需要在JS中进行单元格合并控制,实现代码如下:

 function onLoad(e) {
            var grid = e.sender;

            var marges = [
                { rowIndex: 1, columnIndex: 0, rowSpan: 1, colSpan: 2 },
                { rowIndex: 3, columnIndex: 0, rowSpan: 4, colSpan: 3 }
            ];

            grid.mergeCells(marges);
        }
此处的grid是你的datagrid的id; 

定义一个变量数组,里面是你需要合并的单元格,其中包含4个属性,rowIndex,columnIndex分别代表行和列索引,均是从0开始算,rowSpan和colSpan分别代表要合并的行和列的宽度。 
(3)最后需要调用mergeCells()方法来进行单元格合并,(2)中只是指出哪些单元格需要按照什么要求进行合并,真正的合并是步骤(3) 
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 
特殊情况1:需要合并动态画出的最后一行的前几个单元格(在单元格加载的时候自动进行合并) 
(1)调用grid.load(param,function(){});方法 
(2)合并单元格的操作在(1)中的function中实现,代码如下:

   //获取界面的所有行数
    var zhs = grid.getTotalCount();
    //定义要合并的单元格
            var marges = [{ rowIndex: zhs-1, columnIndex: 0, rowSpan: 1, colSpan: 2}];
            //调用mergeCells()方法进行单元格的合并
            grid.mergeCells(marges);

特殊情况2:在数据加载成功的时候自动合并指定的单元格 
(1)调用grid.onLoadSuccess(data){}方法 
(2)在onLoadSuccess方法里面写具体的实现

$(this).datagrid('mergeCells',{
                index: index,
                field: 'gender',
                rowspan:rowspan
            });

  grid.on("load", function () {
      grid.mergeColumns(["rowid", "company"]);
  });

posted @ 2018-02-27 10:35  暗渡陈仓xy  阅读(1012)  评论(0编辑  收藏  举报