Browse Source

Merge pull request #843 from cdswyda/fix/freeze

修复冻结首行实际是冻结了当前视图的第一行的问题
master
Dushusir 4 years ago
committed by GitHub
parent
commit
436452e745
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 110
      src/controllers/freezen.js
  2. 2
      src/controllers/handler.js
  3. 148
      src/controllers/menuButton.js
  4. 75
      src/global/api.js
  5. 5
      src/locale/en.js
  6. 2
      src/locale/es.js
  7. 12
      src/locale/zh.js
  8. 10
      src/locale/zh_tw.js

110
src/controllers/freezen.js

@ -9,6 +9,8 @@ import luckysheetDropCell from './dropCell';
import { rowLocationByIndex, colLocationByIndex } from '../global/location';
import Store from '../store';
import locale from '../locale/locale';
import { luckysheetrefreshgrid } from '../global/refresh';
const luckysheetFreezen = {
freezenHorizontalHTML: '<div id="luckysheet-freezebar-horizontal" class="luckysheet-freezebar" tabindex="0"><div class="luckysheet-freezebar-handle luckysheet-freezebar-horizontal-handle" ><div class="luckysheet-freezebar-handle-bar luckysheet-freezebar-horizontal-handle-title" ></div><div class="luckysheet-freezebar-handle-bar luckysheet-freezebar-horizontal-handle-bar" ></div></div><div class="luckysheet-freezebar-drop luckysheet-freezebar-horizontal-drop" ><div class="luckysheet-freezebar-drop-bar luckysheet-freezebar-horizontal-drop-title" ></div><div class="luckysheet-freezebar-drop-bar luckysheet-freezebar-horizontal-drop-bar" >&nbsp;</div></div></div>',
@ -23,6 +25,10 @@ const luckysheetFreezen = {
windowWidth: null,
freezenhorizontaldata: null,
freezenverticaldata: null,
// 定义冻结首行、首列是实际的第一行第一列还是当前视图的第一行第一列
// excel 为视图的第一行第一列,但此处实现有问题,如滚动到15行冻结首行,当前冻结了15行,保存再进去实际冻结了第一行
// 冻结真实的第一行、第一列更符合直觉
freezenRealFirstRowColumn: true,
cutVolumn: function (arr, cutindex) {
if(cutindex <= 0){
return arr;
@ -43,6 +49,26 @@ const luckysheetFreezen = {
const _locale = locale();
const locale_freezen = _locale.freezen;
// 解决freeze 不垂直居中的问题
const freezeHTML = `
<div class="luckysheet-toolbar-button-outer-box luckysheet-inline-block"
style="user-select: none;">
<div class="luckysheet-toolbar-button-inner-box luckysheet-inline-block"
style="user-select: none;">
<div class="luckysheet-icon luckysheet-inline-block " style="user-select: none;">
<div aria-hidden="true" class="luckysheet-icon-img-container luckysheet-icon-img luckysheet-icon-function iconfont luckysheet-iconfont-dongjie1"
style="user-select: none;">
</div>
</div>
<div class="luckysheet-toolbar-menu-button-caption luckysheet-inline-block"
style="user-select: none;">
${locale_freezen.default}
</div>
</div>
</div>
`
$("#luckysheet-freezen-btn-horizontal").html(freezeHTML);
$("#luckysheet-freezen-btn-vertical").html('<i class="fa fa-indent"></i> '+locale_freezen.freezenColumn);
_this.freezenverticaldata = null;
@ -100,20 +126,33 @@ const luckysheetFreezen = {
}
if (freezenverticaldata == null) {
let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
let dataset_col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
if (dataset_col_st == -1) {
dataset_col_st = 0;
if (_this.freezenRealFirstRowColumn) {
let dataset_col_st = 0;
left = Store.visibledatacolumn[dataset_col_st] - 2 + Store.rowHeaderWidth;
freezenverticaldata = [
Store.visibledatacolumn[dataset_col_st],
dataset_col_st + 1,
0,
_this.cutVolumn(Store.visibledatacolumn, dataset_col_st + 1),
left
];
} else {
let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
let dataset_col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
if (dataset_col_st == -1) {
dataset_col_st = 0;
}
left = Store.visibledatacolumn[dataset_col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
freezenverticaldata = [
Store.visibledatacolumn[dataset_col_st],
dataset_col_st + 1,
scrollLeft,
_this.cutVolumn(Store.visibledatacolumn, dataset_col_st + 1),
left
];
}
left = Store.visibledatacolumn[dataset_col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
freezenverticaldata = [
Store.visibledatacolumn[dataset_col_st],
dataset_col_st + 1,
scrollLeft,
_this.cutVolumn(Store.visibledatacolumn, dataset_col_st + 1),
left
];
_this.saveFreezen(null, null, freezenverticaldata, left);
}
@ -370,21 +409,41 @@ const luckysheetFreezen = {
}
if (freezenhorizontaldata == null) {
let scrollTop = $("#luckysheet-cell-main").scrollTop();
let dataset_row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
if (dataset_row_st == -1) {
let dataset_row_st;
if (_this.freezenRealFirstRowColumn) {
dataset_row_st = 0;
top = Store.visibledatarow[dataset_row_st] - 2 + Store.columnHeaderHeight;
freezenhorizontaldata = [
Store.visibledatarow[dataset_row_st],
dataset_row_st + 1,
0,
_this.cutVolumn(Store.visibledatarow, dataset_row_st + 1),
top
];
_this.saveFreezen(freezenhorizontaldata, top, null, null);
// todo: 没有下面代码 如果有滚动,冻结之后首行的行号仍显示的之前滚动的行号
// todo: 不 setTimeout 这里直接刷新的话,冻结的首行显示有问题,没有列的分割线
setTimeout(() => {
luckysheetFreezen.createAssistCanvas();
luckysheetrefreshgrid();
});
} else {
let scrollTop = $("#luckysheet-cell-main").scrollTop();
dataset_row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
if (dataset_row_st == -1) {
dataset_row_st = 0;
}
top = Store.visibledatarow[dataset_row_st] - 2 - scrollTop + Store.columnHeaderHeight;
freezenhorizontaldata = [
Store.visibledatarow[dataset_row_st],
dataset_row_st + 1,
scrollTop,
_this.cutVolumn(Store.visibledatarow, dataset_row_st + 1),
top
];
_this.saveFreezen(freezenhorizontaldata, top, null, null);
}
top = Store.visibledatarow[dataset_row_st] - 2 - scrollTop + Store.columnHeaderHeight;
freezenhorizontaldata = [
Store.visibledatarow[dataset_row_st],
dataset_row_st + 1,
scrollTop,
_this.cutVolumn(Store.visibledatarow, dataset_row_st + 1),
top
];
_this.saveFreezen(freezenhorizontaldata, top, null, null);
}
_this.freezenhorizontaldata = freezenhorizontaldata;
@ -414,6 +473,7 @@ const luckysheetFreezen = {
$("#luckysheet-freezen-btn-horizontal").html(freezeHTML);
$("#luckysheet-freezebar-horizontal").show().find(".luckysheet-freezebar-horizontal-handle").css({ "top": top }).end().find(".luckysheet-freezebar-horizontal-drop").css({ "top": top });
},
createAssistCanvas: function(){
let _this = this;

2
src/controllers/handler.js

@ -4946,6 +4946,8 @@ export default function luckysheetHandler() {
}
luckysheetFreezen.scrollAdapt();
// cancel 之后 勾勾取消
$('#luckysheet-icon-freezen-menu-menuButton').find('.fa.fa-check').remove();
}
else {

148
src/controllers/menuButton.js

@ -37,7 +37,7 @@ import { replaceHtml, getObjType, rgbTohex, mouseclickposition, luckysheetfontfo
import {openProtectionModal,checkProtectionFormatCells,checkProtectionNotEnable} from './protection';
import Store from '../store';
import locale from '../locale/locale';
import {checkTheStatusOfTheSelectedCells} from '../global/api';
import { checkTheStatusOfTheSelectedCells, frozenFirstRow, frozenFirstColumn } from '../global/api';
const menuButton = {
"menu": '<div class="luckysheet-cols-menu luckysheet-rightgclick-menu luckysheet-menuButton ${subclass} luckysheet-mousedown-cancel" id="luckysheet-icon-${id}-menuButton">${item}</div>',
@ -1619,77 +1619,98 @@ const menuButton = {
let $t = $(this), itemvalue = $t.attr("itemvalue");
_this.focus($menuButton, itemvalue);
if (itemvalue === 'freezenCancel') {
$menuButton.find('.fa.fa-check').remove();
}
// store frozen
luckysheetFreezen.saveFrozen(itemvalue);
if(itemvalue == "freezenRow"){ //首行冻结
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);
if (luckysheetFreezen.freezenverticaldata != null) {
luckysheetFreezen.cancelFreezenVertical();
luckysheetFreezen.createAssistCanvas();
luckysheetrefreshgrid();
}
frozenFirstRow();
// 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);
// if (luckysheetFreezen.freezenverticaldata != null) {
// luckysheetFreezen.cancelFreezenVertical();
// luckysheetFreezen.createAssistCanvas();
// luckysheetrefreshgrid();
// }
luckysheetFreezen.createFreezenHorizontal(freezenhorizontaldata, top);
luckysheetFreezen.createAssistCanvas();
luckysheetrefreshgrid();
// luckysheetFreezen.createFreezenHorizontal(freezenhorizontaldata, top);
// luckysheetFreezen.createAssistCanvas();
// luckysheetrefreshgrid();
}
else if(itemvalue == "freezenColumn"){ //首列冻结
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);
if (luckysheetFreezen.freezenhorizontaldata != null) {
luckysheetFreezen.cancelFreezenHorizontal();
luckysheetFreezen.createAssistCanvas();
luckysheetrefreshgrid();
}
frozenFirstColumn();
// 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);
// if (luckysheetFreezen.freezenhorizontaldata != null) {
// luckysheetFreezen.cancelFreezenHorizontal();
// luckysheetFreezen.createAssistCanvas();
// luckysheetrefreshgrid();
// }
luckysheetFreezen.createFreezenVertical(freezenverticaldata, left);
luckysheetFreezen.createAssistCanvas();
luckysheetrefreshgrid();
// luckysheetFreezen.createFreezenVertical(freezenverticaldata, left);
// luckysheetFreezen.createAssistCanvas();
// luckysheetrefreshgrid();
}
else if(itemvalue == "freezenRC"){ //首行列冻结
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);
luckysheetFreezen.createFreezenHorizontal(freezenhorizontaldata, top);
if (luckysheetFreezen.freezenRealFirstRowColumn) {
let row_st = 0;
let top = Store.visibledatarow[row_st] - 2 + Store.columnHeaderHeight;
let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, 0, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top];
luckysheetFreezen.saveFreezen(freezenhorizontaldata, top, null, null);
luckysheetFreezen.createFreezenHorizontal(freezenhorizontaldata, top);
let col_st = 0;
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();
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.createFreezenHorizontal(freezenhorizontaldata, top);
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();
luckysheetrefreshgrid();
}
else if(itemvalue == "freezenRowRange"){ //选区行冻结
if(Store.luckysheet_select_save == null || Store.luckysheet_select_save.length == 0){
if(isEditMode()){
alert(locale_freezen.noSeletionError);
@ -1700,7 +1721,11 @@ const menuButton = {
return;
}
// 固定超出屏幕范围
let rangeTop = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1].top;
if (luckysheetFreezen.freezenRealFirstRowColumn && rangeTop > $("#luckysheet-cell-main").height()) {
return tooltip.info(locale_freezen.rangeRCOverErrorTitle, locale_freezen.rangeRCOverError);
}
let scrollTop = $("#luckysheet-cell-main").scrollTop();
let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
@ -1740,7 +1765,11 @@ const menuButton = {
return;
}
// 固定超出屏幕范围
let rangeLeft = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1].left;
if (luckysheetFreezen.freezenRealFirstRowColumn && rangeLeft > $("#luckysheet-cell-main").width()) {
return tooltip.info(locale_freezen.rangeRCOverErrorTitle, locale_freezen.rangeRCOverError);
}
let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
@ -1781,6 +1810,13 @@ const menuButton = {
return;
}
// 固定超出屏幕范围
let rangeTop = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1].top;
let rangeLeft = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1].left;
if (luckysheetFreezen.freezenRealFirstRowColumn && (rangeTop > $("#luckysheet-cell-main").height() || rangeLeft > $("#luckysheet-cell-main").width())) {
return tooltip.info(locale_freezen.rangeRCOverErrorTitle, locale_freezen.rangeRCOverError);
}
let scrollTop = $("#luckysheet-cell-main").scrollTop();
let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);

75
src/global/api.js

@ -609,21 +609,34 @@ export function frozenFirstRow(order) {
// 冻结为当前sheet页
if (!order || order == getSheetIndex(Store.currentSheetIndex)) {
let scrollTop = $("#luckysheet-cell-main").scrollTop();
let freezenhorizontaldata, row_st, top;
if (luckysheetFreezen.freezenRealFirstRowColumn) {
let row_st = 0;
top = Store.visibledatarow[row_st] - 2 + Store.columnHeaderHeight;
freezenhorizontaldata = [
Store.visibledatarow[row_st],
row_st + 1,
0,
luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1),
top
];
} else {
let scrollTop = $("#luckysheet-cell-main").scrollTop();
row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
if(row_st == -1){
row_st = 0;
}
let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
if(row_st == -1){
row_st = 0;
top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columnHeaderHeight;
freezenhorizontaldata = [
Store.visibledatarow[row_st],
row_st + 1,
scrollTop,
luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1),
top
];
}
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);
if (luckysheetFreezen.freezenverticaldata != null) {
@ -649,21 +662,35 @@ export function frozenFirstColumn(order) {
// 冻结为当前sheet页
if (!order || order == getSheetIndex(Store.currentSheetIndex)) {
let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
if(col_st == -1){
let freezenverticaldata, col_st, left;
if (luckysheetFreezen.freezenRealFirstRowColumn) {
col_st = 0;
left = Store.visibledatacolumn[col_st] - 2 + Store.rowHeaderWidth;
freezenverticaldata = [
Store.visibledatacolumn[col_st],
col_st + 1,
0,
luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1),
left
];
} else {
let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
if(col_st == -1){
col_st = 0;
}
left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
freezenverticaldata = [
Store.visibledatacolumn[col_st],
col_st + 1,
scrollLeft,
luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1),
left
];
}
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);
if (luckysheetFreezen.freezenhorizontaldata != null) {

5
src/locale/en.js

@ -8878,7 +8878,7 @@ export default {
textWrapMode: 'Text wrap mode',
textRotate: 'Text rotate',
textRotateMode: 'Text rotate mode',
freezeTopRow: 'Freeze top row',
freezeTopRow: 'Freeze first row',
sortAndFilter: 'Sort and filter',
findAndReplace: 'Find and replace',
sum: 'SUM',
@ -9265,7 +9265,8 @@ export default {
freezenRCRange:"Freezen both range",
freezenCancel:"Cancel",
noSeletionError:"No Range to be selected",
noSeletionError:"No Range to be selected", rangeRCOverErrorTitle: "Freeze reminder",
rangeRCOverError: "The frozen pane is beyond the visible range, which will lead to abnormal operation. Please reset the frozen area."
},
sort:{
"asc":"Ascending ",

2
src/locale/es.js

@ -9250,6 +9250,8 @@ export default {
freezenCancel:"Cancelar",
noSeletionError:"No hay rango para seleccionar",
rangeRCOverErrorTitle: "Recordatorio de congelación",
rangeRCOverError: "El panel de congelación excede el rango visible y puede causar que no funcione correctamente. Reinicie el área de congelación."
},
sort:{
"asc":"Ascendente ",

12
src/locale/zh.js

@ -9088,7 +9088,7 @@ export default {
textWrapMode: '换行方式',
textRotate: '文本旋转',
textRotateMode: '旋转方式',
freezeTopRow: '冻结行',
freezeTopRow: '冻结第一行',
sortAndFilter: '排序和筛选',
findAndReplace: '查找替换',
sum: '求和',
@ -9483,16 +9483,18 @@ export default {
"rotationDown":"向下90°"
},
freezen:{
default:"冻结行",
freezenRow:"冻结行",
freezenColumn:"冻结列",
freezenRC:"冻结行列",
default:"冻结第一行",
freezenRow:"冻结第一行",
freezenColumn:"冻结第A列",
freezenRC:"冻结第一第A列",
freezenRowRange:"冻结行到选区",
freezenColumnRange:"冻结列到选区",
freezenRCRange:"冻结行列到选区",
freezenCancel:"取消冻结",
noSeletionError:"没有选区",
rangeRCOverErrorTitle: "冻结提醒",
rangeRCOverError: "冻结窗格超过可见范围,会导致无法正常操作,请重新设置冻结区域。"
},
sort:{
"asc":"升序",

10
src/locale/zh_tw.js

@ -9089,7 +9089,7 @@ export default {
textWrapMode : '換行管道',
textRotate : '文字旋轉',
textRotateMode : '旋轉管道',
freezeTopRow : '凍結行',
freezeTopRow : '凍結第一行',
sortAndFilter : '排序和篩選',
findAndReplace : '查找替換',
sum : '求和',
@ -9476,9 +9476,9 @@ export default {
"rotationDown": "向下90°"
},
freezen: {
default : "凍結行",
freezenRow : "凍結行",
freezenColumn : "凍結列",
default : "凍結第一行",
freezenRow : "凍結第一行",
freezenColumn : "凍結第A列",
freezenRC : "凍結行列",
freezenRowRange : "凍結行到選區",
freezenColumnRange: "凍結列到選區",
@ -9486,6 +9486,8 @@ export default {
freezenCancel : "取消凍結",
noSeletionError: "没有選區",
rangeRCOverErrorTitle: "凍結提醒",
rangeRCOverError: "凍結窗格超過可見範圍,會導致無法正常操作,請重新設定凍結區域。"
},
sort: {
"asc" : "昇冪",

Loading…
Cancel
Save