jQuery Easyui Datagrid相同连续列合并扩展
2014-12-04 08:32
363 查看
/** * author ____′↘夏悸 * create date 2012-11-5 **/ $.extend($.fn.datagrid.methods, { autoMergeCells : function (jq, fields) { return jq.each(function () { var target = $(this); if (!fields) { fields = target.datagrid("getColumnFields"); } var rows = target.datagrid("getRows"); var i = 0, j = 0, temp = {}; for (i; i < rows.length; i++) { var row = rows[i]; j = 0; for (j; j < fields.length; j++) { var field = fields[j]; var tf = temp[field]; if (!tf) { tf = temp[field] = {}; tf[row[field]] = [i]; } else { var tfv = tf[row[field]]; if (tfv) { tfv.push(i); } else { tfv = tf[row[field]] = [i]; } } } } $.each(temp, function (field, colunm) { $.each(colunm, function () { var group = this; if (group.length > 1) { var before, after, megerIndex = group[0]; for (var i = 0; i < group.length; i++) { before = group[i]; after = group[i + 1]; if (after && (after - before) == 1) { continue; } var rowspan = before - megerIndex + 1; if (rowspan > 1) { target.datagrid('mergeCells', { index : megerIndex, field : field, rowspan : rowspan }); } if (after && (after - before) != 1) { megerIndex = after; } } } }); }); }); } });
用法:
在datagrid的onLoadSuccess事件里面进行调用,可以实现数据加载完成后,自动合并。也可以手动调用该方法。
onLoadSuccess:function(){
//所有列进行合并操作
//$(this).datagrid("autoMergeCells");
//指定列进行合并操作
$(this).datagrid("autoMergeCells",['itemid','productid']);
}
相关文章推荐
- jQuery Easyui Datagrid相同连续列合并扩展 (有效!)
- jQuery Easyui Datagrid相同连续列合并扩展
- Easyui Datagrid相同连续列合并扩展(三)
- Easyui Datagrid相同连续列合并扩展(二)
- 扩展-Easyui Datagrid相同连续列合并扩展(一)
- 使用easyUI datagrid 合并相同连续列
- EasyUI DataGrid 相同连续列合并
- 在easyui中在同一列中合并相同连续值的jquery插件
- EasyUI DataGrid 相同连续列合并
- EasyUI DataGrid 相同连续列合并
- EasyUI DataGrid 相同连续列合并
- 扩展jQuery easyui datagrid增加动态改变列编辑的类型
- jquery扩展easyui的datagrid组建,添加loading方法
- easyui 扩展方法 合并列相同的单元格,以第一列分组
- jQuery扩展easyui.datagrid,添加数据loading遮罩效果代码
- jquery-easyui中datagrid扩展,隐藏显示表头功能
- 扩展jQuery easyui datagrid增加动态改变列编辑的类型
- jQuery扩展easyui.datagrid,添加数据loading遮罩效果代码
- Easyui Datagrid相同连续列合Demo之三
- jQuery扩展easyui.datagrid,添加数据loading遮罩效果代码