easyui datagrid 合并 相同行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui datagrid 合并 相同行相关的知识,希望对你有一定的参考价值。
如何根据查询数据动态的获取某一列相同数据的进行自动合并? 例如南翔镇合并为一个单元格,江桥镇合并为一个单元格?
参考技术A这个 你最好扩展一下 EasyUI 下面湿扩展EasyUI 合并行的方法
$.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;
);
);
);
);
使用方法:$('#grid).datagrid("autoMergeCells", ['field1', 'field2','field3',……]);
后面的数组 即 你想要合并的显示的 列 如果你只有一个列需要合并 那么数组中指定一个列的field即可
本回答被提问者和网友采纳以上是关于easyui datagrid 合并 相同行的主要内容,如果未能解决你的问题,请参考以下文章
Easyui Datagrid的Rownumber行号显示问题