Fixed Position

움직이는 개체의 fixedPosition 속성이 true로 설정되면 움직이는 개체의 위치는 스크롤하거나 숨기거나 표시하거나 크기를 조정하거나 행이나 열을 이동한 후에 변경되지 않습니다.

설명
app.vue
index.html
styles.css

고정 위치

fixedPosition 메서드를 사용하여 움직이는 개체를 고정된 위치에 표시할지 여부를 설정할 수 있습니다.

    floatingObject.fixedPosition(true);

fixedPosition이 true인 경우 dynamicMovedynamicSize가 무시됩니다.

fixedPosition이 true인 경우 움직이는 개체를 이동하거나 크기를 조정할 수 있습니다.

fixedPosition이 true이면 다음 속성이 이전처럼 작동합니다.

  • position
  • height
  • width
  • startRow
  • startRowOffset
  • startColumn
  • startColumnOffset
  • endRow
  • endRowOffset
  • endColumn
  • endColumnOffset
고정 위치 fixedPosition 메서드를 사용하여 움직이는 개체를 고정된 위치에 표시할지 여부를 설정할 수 있습니다. fixedPosition이 true인 경우 dynamicMove 및 dynamicSize가 무시됩니다. fixedPosition이 true인 경우 움직이는 개체를 이동하거나 크기를 조정할 수 있습니다. fixedPosition이 true이면 다음 속성이 이전처럼 작동합니다. position height width startRow startRowOffset startColumn startColumnOffset endRow endRowOffset endColumn endColumnOffset
<template> <div class="sample-tutorial"> <gc-spread-sheets class="sample-spreadsheets" @workbookInitialized="initSpread"> <gc-worksheet></gc-worksheet> </gc-spread-sheets> <div class="options-container"> <p style=" padding:2px 10px;background-color:#F4F8EB;">Try resizing column A in the Spread component to see that the fixed floating objects do not move</p> </div> </div> </template> <script> import Vue from "vue"; import GC from '@mescius/spread-sheets'; import '@mescius/spread-sheets-resources-ko'; import '@mescius/spread-sheets-vue' GC.Spread.Common.CultureManager.culture("ko-kr"); import './styles.css'; let App = Vue.extend({ name: "app", methods: { initSpread: function (spread) { let sheet = spread.getSheet(0); sheet.setColumnWidth(0, 20); let content1 = document.createElement("div"); content1.style.backgroundColor = "gray"; content1.style.width = "100%"; content1.style.height = "100%"; content1.innerHTML = "Floating objects at fixed position."; let customFloatingObject1 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("customFloatingObject1", 20, 20, 240, 20); customFloatingObject1.content(content1); customFloatingObject1.fixedPosition(true); sheet.floatingObjects.add(customFloatingObject1); let content2 = document.createElement("div"); content2.style.backgroundColor = "lightgray"; content2.style.width = "100%"; content2.style.height = "100%"; content2.innerHTML = "Normal floating objects."; let customFloatingObject2 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("customFloatingObject2", 20, 280, 240, 20); customFloatingObject2.content(content2); sheet.floatingObjects.add(customFloatingObject2); }, } }); new Vue({ render: h => h(App) }).$mount('#app'); </script>
<!doctype html> <html style="height:100%;font-size:14px;"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" type="text/css" href="$DEMOROOT$/ko/vue/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css"> <!-- SystemJS --> <script src="$DEMOROOT$/ko/vue/node_modules/systemjs/dist/system.src.js"></script> <script src="$DEMOROOT$/spread/source/data/AgingReport.js" type="text/javascript"></script> <script src="systemjs.config.js"></script> <script> System.import('./src/app.vue'); System.import('$DEMOROOT$/ko/lib/vue/license.js'); </script> </head> <body> <div id="app"></div> </body> </html>
.sample-tutorial { position: relative; height: 100%; overflow: hidden; } .sample-spreadsheets { width: calc(100% - 280px); height: 100%; overflow: hidden; float: left; } .options-container { float: right; width: 280px; padding: 12px; height: 100%; box-sizing: border-box; background: #fbfbfb; overflow: auto; } body { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
(function (global) { System.config({ transpiler: 'plugin-babel', babelOptions: { es2015: true }, meta: { '*.css': { loader: 'css' }, '*.vue': { loader: 'vue-loader' } }, paths: { // paths serve as alias 'npm:': 'node_modules/' }, // map tells the System loader where to look for things map: { '@mescius/spread-sheets': 'npm:@mescius/spread-sheets/index.js', '@mescius/spread-sheets-resources-ko': 'npm:@mescius/spread-sheets-resources-ko/index.js', '@mescius/spread-sheets-vue': 'npm:@mescius/spread-sheets-vue/index.js', '@grapecity/jsob-test-dependency-package/react-components': 'npm:@grapecity/jsob-test-dependency-package/react-components/index.js', 'jszip': 'npm:jszip/dist/jszip.js', 'css': 'npm:systemjs-plugin-css/css.js', 'vue': 'npm:vue/dist/vue.min.js', 'vue-loader': 'npm:systemjs-vue-browser/index.js', 'tiny-emitter': 'npm:tiny-emitter/index.js', 'plugin-babel': 'npm:systemjs-plugin-babel/plugin-babel.js', 'systemjs-babel-build':'npm:systemjs-plugin-babel/systemjs-babel-browser.js' }, // packages tells the System loader how to load when no filename and/or no extension packages: { src: { defaultExtension: 'js' }, rxjs: { defaultExtension: 'js' }, "node_modules": { defaultExtension: 'js' } } }); })(this);