Browse Source

API setauto rowheight cs

master
Smillence 5 years ago
parent
commit
717ccaf6df
  1. 26
      src/global/getRowlen.js
  2. 15
      src/global/location.js

26
src/global/getRowlen.js

@ -1,8 +1,8 @@
import {luckysheetfontformat} from '../utils/util';
import menuButton from '../controllers/menuButton';
import { getcellvalue,checkstatusByCell } from './getdata';
import { colLocationByIndex } from './location';
import { hasChinaword, isRealNull,checkWordByteLength } from './validate';
import {checkstatusByCell} from './getdata';
import {colLocationByIndex,colSpanLocationByIndex} from './location';
import {checkWordByteLength, hasChinaword, isRealNull} from './validate';
import {isInlineStringCell} from '../controllers/inlineString';
import Store from '../store';
@ -90,12 +90,19 @@ function computeRowlenByContent(d, r) {
for(let c = 0; c < d[r].length; c++){
let cell = d[r][c];
if(cell == null || cell.mc != null){
if (cell == null) {
continue;
}
if (cell.mc != null) {
if (1 !== cell.mc.rs) {
continue;
}
}
if(cell != null && (cell.v != null || isInlineStringCell(cell)) ){
let cellWidth = colLocationByIndex(c)[1] - colLocationByIndex(c)[0] - 2;
let cellWidth = computeCellWidth(cell, c);
let textInfo = getCellTextInfo(cell, canvas,{
r:r,
@ -119,6 +126,15 @@ function computeRowlenByContent(d, r) {
return currentRowLen;
}
function computeCellWidth(cell, col_index) {
let colLocationArr = colLocationByIndex(col_index);
if (cell.mc && cell.mc.c !== cell.mc.cs) {
colLocationArr = colSpanLocationByIndex(col_index, cell.mc.cs);
}
return colLocationArr[1] - colLocationArr[0] - 2;
}
//计算表格行高数组
function computeRowlenArr(rowHeight, cfg) {

15
src/global/location.js

@ -42,6 +42,20 @@ function colLocationByIndex(col_index){
return [col_pre, col, col_index];
}
function colSpanLocationByIndex(col_index, span){
let col = 0, col_pre = 0;
col = Store.visibledatacolumn[col_index + span - 1];
if (col_index == 0) {
col_pre = 0;
}
else {
col_pre = Store.visibledatacolumn[col_index - 1];
}
return [col_pre, col, col_index];
}
function colLocation(x) {
let col_index = luckysheet_searcharray(Store.visibledatacolumn, x);
@ -68,6 +82,7 @@ export {
rowLocationByIndex,
rowLocation,
colLocationByIndex,
colSpanLocationByIndex,
colLocation,
mouseposition,
}
Loading…
Cancel
Save