diff --git a/src/global/border.js b/src/global/border.js index c6b8589..c78b568 100644 --- a/src/global/border.js +++ b/src/global/border.js @@ -77,6 +77,14 @@ function getBorderInfoComputeRange(dataset_row_st,dataset_row_ed,dataset_col_st, borderInfoCompute[bd_r + "_" + bd_c_left].r = { "color": borderColor, "style": borderStyle }; } } + + let mc = cfg["merge"] || {}; + for (const key in mc) { + let {c,r,cs,rs} = mc[key]; + if(bd_c1 <= c + cs - 1 && bd_c1 > c && bd_r >= r && bd_r <= r + rs -1){ + borderInfoCompute[bd_r + "_" + bd_c1].l = null; + } + } } } else if(borderType == "border-right"){ @@ -107,6 +115,13 @@ function getBorderInfoComputeRange(dataset_row_st,dataset_row_ed,dataset_col_st, borderInfoCompute[bd_r + "_" + bd_c_right].l = { "color": borderColor, "style": borderStyle }; } } + let mc = cfg["merge"] || {}; + for (const key in mc) { + let {c,r,cs,rs} = mc[key]; + if(bd_c2 < c + cs - 1 && bd_c2 >= c && bd_r >= r && bd_r <= r + rs -1){ + borderInfoCompute[bd_r + "_" + bd_c2].r = null; + } + } } } else if(borderType == "border-top"){ @@ -137,6 +152,14 @@ function getBorderInfoComputeRange(dataset_row_st,dataset_row_ed,dataset_col_st, borderInfoCompute[bd_r_top + "_" + bd_c].b = { "color": borderColor, "style": borderStyle }; } } + + let mc = cfg["merge"] || {}; + for (const key in mc) { + let {c,r,cs,rs} = mc[key]; + if(bd_r1 <= r + rs - 1 && bd_r1 > r && bd_c >= c && bd_c <= c + cs -1){ + borderInfoCompute[bd_r1 + "_" + bd_c].t = null; + } + } } } else if(borderType == "border-bottom"){ @@ -167,6 +190,14 @@ function getBorderInfoComputeRange(dataset_row_st,dataset_row_ed,dataset_col_st, borderInfoCompute[bd_r_bottom + "_" + bd_c].t = { "color": borderColor, "style": borderStyle }; } } + + let mc = cfg["merge"] || {}; + for (const key in mc) { + let {c,r,cs,rs} = mc[key]; + if(bd_r2 < r + rs - 1 && bd_r2 >= r && bd_c >= c && bd_c <= c + cs -1){ + borderInfoCompute[bd_r2 + "_" + bd_c].b = null; + } + } } } else if(borderType == "border-all"){ diff --git a/src/global/refresh.js b/src/global/refresh.js index 80a512e..94d24a0 100644 --- a/src/global/refresh.js +++ b/src/global/refresh.js @@ -635,14 +635,29 @@ function jfrefreshgrid_deleteCell(data, cfg, ctrl, calc, filterObj, cf, dataVeri data[r][c] = {}; } + // if(r == mc.r && c == mc.c){ + // data[r][c].mc = mc; + // } + // else{ + // data[r][c].mc = { "r": mc.r, "c": mc.c }; + // } + + // mcData.push({ "r": r, "c": c }); + + if(r == mc.r && c == mc.c){ - data[r][c].mc = mc; + if(JSON.stringify(data[r][c].mc) !=JSON.stringify(mc)){ + data[r][c].mc = mc; + mcData.push({ "r": r, "c": c }); + } } else{ - data[r][c].mc = { "r": mc.r, "c": mc.c }; - } - - mcData.push({ "r": r, "c": c }); + let tempMc = { "r": mc.r, "c": mc.c }; + if(JSON.stringify(data[r][c].mc) != JSON.stringify(tempMc)){ + data[r][c].mc = tempMc; + mcData.push({ "r": r, "c": c }); + } + } } } }