setSheets.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /**
  2. * Created by vian on 2017/3/16.
  3. */
  4. //初始表单
  5. function initSheet(spread, sheet, chRowCount, vpRowCount, vpColCount){
  6. var spreadNS = GC.Spread.Sheets;
  7. spread.options.showHorizontalScrollbar = false;
  8. spread.options.showVerticalScrollbar =false;
  9. spread.options.tabStripVisible = false;
  10. spread.options.scrollbarMaxAlign = true;
  11. sheet.showRowOutline(false);
  12. sheet.defaults.rowHeight = 30;
  13. sheet.setRowCount(chRowCount, spreadNS.SheetArea.colHeader);
  14. sheet.setRowCount(vpRowCount, spreadNS.SheetArea.viewport);
  15. sheet.setColumnCount(vpColCount, spreadNS.SheetArea.viewport);
  16. }
  17. //设置初始行高
  18. function initRowHeight(sheet){
  19. /*var rowCount = sheet.getRowCount();
  20. for(var i=0; i<rowCount; i++){
  21. sheet.setRowHeight(i, 30);
  22. }*/
  23. }
  24. //单元格设置
  25. function setCell(sheet){
  26. var colCount = sheet.getColumnCount();
  27. var vp = GC.Spread.Sheets.SheetArea.viewport;
  28. var center = GC.Spread.Sheets.VerticalAlign.center;
  29. var left = GC.Spread.Sheets.HorizontalAlign.left;
  30. for(var i= 0; i<colCount; i++){
  31. sheet.getRange(-1, i, -1, 1, vp).vAlign(center);
  32. sheet.getRange(-1, i, -1, 1, vp).hAlign(left);
  33. sheet.getRange(-1, i, -1, 1, vp).font("12pt 宋体");
  34. }
  35. }
  36. //绑定事件,统一事件
  37. function setupEvents(spread, sheet){
  38. var events = GC.Spread.Sheets.Events;
  39. $("#aDelete").click(function(){
  40. var rowIdx = sheet.getActiveRowIndex();
  41. sheet.deleteRows(rowIdx, 1);
  42. });
  43. //EditChange
  44. /* sheet.bind(events.EditChange, function(e, args){
  45. console.log("EditChange!");
  46. });*/
  47. //EditEnded
  48. sheet.bind(events.EditEnded, function(e, args){
  49. var editRow = args.row;
  50. var editCol = args.col;
  51. var eiditVal = sheet.getValue(editRow, editCol);
  52. console.log("EE: row: "+editRow+" col: "+editCol +"val: "+eiditVal);
  53. });
  54. //EditEnding
  55. /*sheet.bind(events.EditEnding, function(e, args){
  56. console.log("EEing");
  57. });*/
  58. }
  59. //滚动条
  60. function setScrollBar(spread, sheet, initRow){
  61. var events = GC.Spread.Sheets.Events;
  62. sheet.bind(events.EnterCell, function(e, data){
  63. var rowCount = sheet.getRowCount();
  64. //当前行数大于初始行数
  65. if(rowCount >initRow){
  66. spread.options.showVerticalScrollbar = true;
  67. }
  68. else{
  69. spread.options.showVerticalScrollbar = false;
  70. }
  71. });
  72. }
  73. //自定义按钮
  74. function myCommand(spread, sheet){
  75. var keys = GC.Spread.Commands.Key;
  76. //enter,最后一行回车键添加新行
  77. spread.commandManager().register("myEnter", function(){
  78. var idxRow = sheet.getActiveRowIndex();
  79. var rowCount = sheet.getRowCount();
  80. if(idxRow+1 == rowCount){
  81. sheet.addRows(rowCount, 1);
  82. sheet.setRowHeight(rowCount, 30);//设置行高
  83. sheet.getRange(rowCount, -1, 1, -1).vAlign(GC.Spread.Sheets.VerticalAlign.center);
  84. sheet.getRange(rowCount, -1, 1, -1).font("10pt 微软雅黑");
  85. }
  86. });
  87. spread.commandManager().setShortcutKey("myEnter", keys.enter, false, false, false, false);
  88. //down,最后一行down添加新行
  89. spread.commandManager().register("myDown", function(){
  90. var idxRow = sheet.getActiveRowIndex();
  91. var rowCount = sheet.getRowCount();
  92. if(idxRow+1 == rowCount){
  93. sheet.suspendPaint();
  94. sheet.addRows(rowCount, 1);
  95. sheet.setRowHeight(rowCount, 30);//设置行高
  96. sheet.getRange(rowCount, -1, 1, -1).vAlign(GC.Spread.Sheets.VerticalAlign.center);
  97. sheet.getRange(rowCount, -1, 1, -1).font("10pt 微软雅黑");
  98. sheet.resumePaint();
  99. }
  100. });
  101. spread.commandManager().setShortcutKey("myDown", keys.down, false, false, false, false);
  102. }