本帖最后由 dexteryao 于 2016-3-17 08:39 编辑
我看了下您也面的代码,有以下几个问题。
1. 应该先“new GcSpread.Sheets.Sheet('进度')”然后再“spread.addSheet(0, sheet);”。这个是造成页面列宽行高设置不起作用的原因,其实你点击显示是显示的上一次的sheet。
-
- //显示表格及内容
- function CreateTable(vSheet) {
- //生成新表
- spread.clearSheets();
- sheet = new GcSpread.Sheets.Sheet('进度');
- spread.addSheet(0, sheet);
- spread.useTouchLayout(true);
- spreadNS = GcSpread.Sheets,
- sheet = spread.getSheet(0),
- SheetArea = spreadNS.SheetArea;
复制代码
2. 你将“ //sheet.isPaintSuspended(true);” 注释掉了,所以显示表格特别慢。
3.建议您不要每次都做“var activeSheet = spread.getActiveSheet();”这个操作,因为sheet在循环前面已经有了,作为参数传入就好了。上百次的声明获取操作也是对性能的损耗。
- ...
- //表格
- var vTab = vSheet.jsheet[2].jTab;
- for (var i = 0; i < vTab.length; i++) {
- WriteCellValue(sheet, vTab[i]);
- };
- ....
- //显示每一单元格
- function WriteCellValue(activeSheet , jCell) {
- //var activeSheet = spread.getActiveSheet();
复制代码
|