Browse Source

fix: 修复点击冻结首行首列的滚动问题

master
cdswyda 4 years ago
parent
commit
009205eb75
  1. 53
      src/controllers/menuButton.js
  2. 2
      src/locale/zh.js

53
src/controllers/menuButton.js

@ -1666,28 +1666,43 @@ const menuButton = {
// luckysheetrefreshgrid(); // luckysheetrefreshgrid();
} }
else if(itemvalue == "freezenRC"){ //首行列冻结 else if(itemvalue == "freezenRC"){ //首行列冻结
let scrollTop = $("#luckysheet-cell-main").scrollTop(); if (luckysheetFreezen.freezenRealFirstRowColumn) {
let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop); let row_st = 0;
if(row_st == -1){ let top = Store.visibledatarow[row_st] - 2 + Store.columnHeaderHeight;
row_st = 0; let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, 0, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top];
} luckysheetFreezen.saveFreezen(freezenhorizontaldata, top, null, null);
let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight;
let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top]; luckysheetFreezen.createFreezenHorizontal(freezenhorizontaldata, top);
luckysheetFreezen.saveFreezen(freezenhorizontaldata, top, null, null);
let col_st = 0;
luckysheetFreezen.createFreezenHorizontal(freezenhorizontaldata, top); let left = Store.visibledatacolumn[col_st] - 2 + Store.rowHeaderWidth;
let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, 0, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left];
luckysheetFreezen.saveFreezen(null, null, freezenverticaldata, left);
luckysheetFreezen.createFreezenVertical(freezenverticaldata, left);
} else {
let scrollTop = $("#luckysheet-cell-main").scrollTop();
let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
if(row_st == -1){
row_st = 0;
}
let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight;
let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top];
luckysheetFreezen.saveFreezen(freezenhorizontaldata, top, null, null);
let scrollLeft = $("#luckysheet-cell-main").scrollLeft(); luckysheetFreezen.createFreezenHorizontal(freezenhorizontaldata, top);
let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
if(col_st == -1){
col_st = 0;
}
let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left];
luckysheetFreezen.saveFreezen(null, null, freezenverticaldata, left);
luckysheetFreezen.createFreezenVertical(freezenverticaldata, left); let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
if(col_st == -1){
col_st = 0;
}
let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left];
luckysheetFreezen.saveFreezen(null, null, freezenverticaldata, left);
luckysheetFreezen.createFreezenVertical(freezenverticaldata, left);
}
luckysheetFreezen.createAssistCanvas(); luckysheetFreezen.createAssistCanvas();
luckysheetrefreshgrid(); luckysheetrefreshgrid();
} }

2
src/locale/zh.js

@ -9486,7 +9486,7 @@ export default {
default:"冻结第一行", default:"冻结第一行",
freezenRow:"冻结第一行", freezenRow:"冻结第一行",
freezenColumn:"冻结第A列", freezenColumn:"冻结第A列",
freezenRC:"冻结行列", freezenRC:"冻结第一第A列",
freezenRowRange:"冻结行到选区", freezenRowRange:"冻结行到选区",
freezenColumnRange:"冻结列到选区", freezenColumnRange:"冻结列到选区",
freezenRCRange:"冻结行列到选区", freezenRCRange:"冻结行列到选区",

Loading…
Cancel
Save