关于jeecg链表datagrid dgtol 行合并列合并
同题目,有没有相关的demo或者封装的原理给科普一下
我这不知道怎么实现的 封装了colspan rowspan 又没有对应的java代码 实现无语 1我自己用原生的做了一遍 可以用隔类型换色实现 相对应的业务(只是为了区别)
2用原生合并单元格 代码如下
$("#auditingStandardDetailList").datagrid({
onLoadSuccess: function(data){ //data是默认的表格加载数据,包括rows和Total
var mark=1; //这里涉及到简单的运算,mark是计算每次需要合并的格子数
for (var i=1; i <data.rows.length; i++) { //这里循环表格当前的数据
if (data.rows['recType'] == data.rows['recType']) { //后一行的值与前一行的值做比较,相同就需要合并
mark += 1;
$(this).datagrid('mergeCells',{
index: i+1-mark, //datagrid的index,表示从第几行开始合并记住最开始需要合并的位置
field: 'recType', //合并单元格的区域,就是clomun中的filed对应的列
rowspan:mark //纵向合并的格数,如果想要横向合并,就使用colspan:mark
});
}else{
mark=1; //一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算
}
}
}
});
再贴一下用 rowStyler隔类型换色的代码
rowStyler="RowStyleChange"
//处理如果本行数据recType值于上一行数据recType值相等则样式不变,不相等则改变这个样式,每一行返回这个样式
var str='background-color:white';
function RowStyleChange(index,row){
// var max=$('#auditingStandardDetailList').datagrid('getData').rows.length;
if(index>0){
//本行数据
var row =$("#auditingStandardDetailList").datagrid('getRows');
//上一行数据
var row1=$("#auditingStandardDetailList").datagrid('getRows');
if(row.recType!=row1.recType){
if(str=='background-color:#E9E9E9'){
str='background-color:white'
}else if(str=='background-color:white'){
str='background-color:#E9E9E9'
}
}
}
return str;
}
页:
[1]