Bootstrap mergeCells合并单元格(多列)

/**

  • 合并单元格
  • @param target 目标表格对象
  • @param data 原始数据(在服务端完成排序)
  • @param fieldName 合并参照的属性名称
  • @param fieldList 要合并的字段集合[不含fieldName]![]
  • @param colspan 合并开始列
    */
    function mergeCells(target, data, fieldName, fieldList, colspan) {
    // 声明一个map计算相同属性值在data对象出现的次数和
    var sortMap = {};
    var index = 0;
    var begini=0;
    var endi = 0;
    // 统计fieldName长度
    getCount(target, data, 0, data.length, fieldName, index, sortMap);
    for(var prop in sortMap){
    endi = index+sortMap[prop];
    if(sortMap[prop]>1){
    // console.log(fieldName + ":" + prop,sortMap[prop]);
    for(var i=0;i<fieldList.length;i++){
    getCount(target, data, begini, endi, fieldList[i], index, null);
    }
    }
    index = begini = endi;
    }

}

/**

  • 计算合并
    /
    function getCount(target, data, begini, endi, fieldName, index, sortMap) {
    // console.log(‘fieldName:‘ + fieldName);
    // console.log(begini,endi);
    if(sortMap == null){
    sortMap = {};
    }
    for(var i = begini ; i < endi ; i++){
    for(var prop in data[i]){
    if(prop == fieldName){
    var key = data[i][prop];
    if(sortMap.hasOwnProperty(key)){
    sortMap[key] = sortMap[key]
    1 + 1;
    } else {
    sortMap[key] = 1;
    }
    // console.log(fieldName + ":" + key, sortMap[key]);
    break;
    }
    }
    }
    for(var p in sortMap){
    var count = sortMap[p] * 1;
    // console.log(">>>>>" + ":" + p , count);
    $(target).bootstrapTable(‘mergeCells‘,{index:index, field:fieldName, colspan: 1, rowspan: count});
    index += count;
    }

}

使用:
var data1 = $(‘#table‘).bootstrapTable(‘getData‘, true);
mergeCells($(‘#table‘), data1, "proname", ["promonth", "pkno", "zb"], 1);

原文地址:http://blog.51cto.com/hecnet/2162125

时间: 2024-10-10 12:30:49

Bootstrap mergeCells合并单元格(多列)的相关文章

POI 实现合并单元格以及列自适应宽度

POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2)); 自适应列宽度: sheet.autoSizeColumn(1); sheet.autoSizeColumn(1, true); 这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老. 注意:第一个方法在合并单元格的的单元格并不好使,必须用

DataGridView合并单元格(一列或一行)之一

#region"合并单元格的测试(一列或一行)" // int?是搜索一种类型(可空类型),普通的int不能为null,而用int?,其值可以为null //private int? nextrow = null; //private int? nextcol = null; //在CellPainting方法后调用 private void dataGridView1_CellFormatting(object sender, System.Windows.Forms.DataGri

poi导出excel合并单元格(包括列合并、行合并)

1 工程所需jar包如下:commons-codec-1.5.jarcommons-logging-1.1.jarlog4j-1.2.13.jarjunit-3.8.1.jarpoi-3.9-20121203.jar 2 Code: /** * 导出设备信息Excel * @param form 和 HTTP 请求相关的表格对象 * @param resources 信息资源对象 * @param locale 本地化对象 * @param session HTTP 会话对象 * @param

bootstrap table合并单元格(该版本是简单的应用)

//获取列表数据 function loadTableData(tableId, request, data) { $.ajax({ type : "GET", url : request, contentType : 'application/json', dataType : "json", data : data, success : function(json) { //从后台获取到数据后进行表格的渲染 $('#featureBusinessClassify

EasyUi 合并单元格占列显示

$("#TableContainer").datagrid({                url: '',                method: "get",                title: '工资明细列表',                loadMsg: '数据加载中,请稍候...',                nowrap: false,                pageSize: 50,                pag

WPF 导出Excel(合并单元格)

DataTable 导出Excel(导出想要的列,不想要的去掉) enum Columns{A1=1,B1,B2,B3,B4,B5} MisroSoft.Office.Interop.Excel.Application excelApp=MisroSoft.Office.Interop.Excel.Application excelApp(); Workbook wb=excelApp.Workboype.Missing);//创建工作薄 Worksheet ws=(Worksheet )wb.

【记录】解析具有合并单元格的Excel

最近公司让做各种数据表格的导入导出,就涉及到电子表格的解析,做了这么多天总结一下心得. 工具:NOPI 语言:C# 目的:因为涉及到导入到数据库,具有合并单元格的多行必然要拆分,而NPOI自动解析的时候拆分单元格除第一个单元格外其余值都是空,对于列头有合并项目的,数据库设计一般才有合并单元格下面的最小列单元作为数据库字段.于是希望达到这样一个效果.于是有了一个思路就是把读入的Excel复制到新建的Excel,然后再去读新的Excel.总体思路就是把合并单元格所包含的所有最小单元格的值都设置成合并

C# Excel行高、列宽、合并单元格、单元格边框线、冻结

private _Workbook _workBook = null;private Worksheet _workSheet = null;private Excel.Application _excelApplicatin = null; _excelApplicatin = new Excel.Application();_excelApplicatin.Visible = true;_excelApplicatin.DisplayAlerts = true; _workBook = _e

【转载】jxl操作excel 字体 背景色 合并单元格 列宽等 .

package com.email.jav; import java.io.File;import java.io.IOException;import java.net.URL; import jxl.Workbook;import jxl.format.UnderlineStyle;import jxl.write.Label;import jxl.write.WritableCellFormat;import jxl.write.WritableFont;import jxl.write.