アクション

フローティングオブジェクトでは、ドラッグアンドドロップ、サイズ変更、移動、コピー、貼り付けなど、さまざまなアクションがサポートされます。以下のJavaScriptスプレッドシートのフローティングオブジェクトで、説明に記載されているアクションを試すことができます。

以下のキーを使用して、フローティングオブジェクトに対するアクションを実行できます。 Esc: オブジェクトの選択が解除されます。 Delete: 選択しているオブジェクトが削除されます。 Tab: 選択されているオブジェクトの、次のオブジェクトを選択します。 Shift+Tab: 選択されているオブジェクトの、前のオブジェクトを選択します。 Ctrl+X: 選択されているオブジェクトをクリップボードに切り取ります。 Ctrl+C: 選択されているオブジェクトをクリップボードにコピーします。 Ctrl+V: クリップボードにあるオブジェクトを選択しているセルの位置に貼り付けます。 Ctrl+A: 全てのオブジェクトを選択します。 Up: 選択したオブジェクトを上方向に移動します。 Down: 選択したオブジェクトを下方向に移動します。 Left: 選択したオブジェクトを左方向に移動します。 Right: 選択したオブジェクトを右方向に移動します。 マウス操作によってフローティングオブジェクトを処理することもできます。フローティングオブジェクトを選択すると、位置インジケータ、および8つのサイズ変更インジケータが表示されます。サイズ変更インジケータをドラッグすると、フローティングオブジェクトのサイズを変更できます。フローティングオブジェクトをドラッグして、任意の位置にドロップすることもできます。 ドラッグによって、フローティングオブジェクトをコピーして貼り付けることができます。これには、[Ctrl]キーを押しながらマウスでフローティングオブジェクトをドラッグします。マウスボタンを離すと、ドラッグしたフローティングオブジェクトがコピーされ、新規の場所に貼り付けられます。
import * as React from 'react'; import * as ReactDOM from 'react-dom'; import GC from '@mescius/spread-sheets'; import '@mescius/spread-sheets-resources-ja'; GC.Spread.Common.CultureManager.culture("ja-jp"); import './styles.css'; import { AppFunc } from './app-func'; // import { App } from './app-class'; // 1. Functional Component sample ReactDOM.render(<AppFunc />, document.getElementById('app')); // 2. Class Component sample // ReactDOM.render(<App />, document.getElementById('app'));
import * as React from 'react'; import GC from '@mescius/spread-sheets'; import { SpreadSheets, Worksheet } from '@mescius/spread-sheets-react'; export function AppFunc() { const initSpread = (spread) => { var sheet = spread.getSheet(0); var floatingObject1 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("f1", 50, 0, 100, 100); var img1 = document.createElement("img"); img1.src = "$DEMOROOT$/spread/source/images/splogo.png"; floatingObject1.content(img1); sheet.floatingObjects.add(floatingObject1); var floatingObject2 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("f2", 50, 120, 100, 100); var img2 = document.createElement("img"); img2.src = "$DEMOROOT$/spread/source/css/images/Food.png"; floatingObject2.content(img2); sheet.floatingObjects.add(floatingObject2); var floatingObject3 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("f3", 50, 240, 100, 100); var img3 = document.createElement("img"); img3.src = "$DEMOROOT$/spread/source/css/images/Calories.png"; floatingObject3.content(img3); sheet.floatingObjects.add(floatingObject3); } return <div class="sample-tutorial"> <div class="sample-spreadsheets"> <SpreadSheets workbookInitialized={spread => initSpread(spread)}> <Worksheet> </Worksheet> </SpreadSheets> </div> </div>; }
import * as React from 'react'; import GC from '@mescius/spread-sheets'; import { SpreadSheets, Worksheet } from '@mescius/spread-sheets-react'; const Component = React.Component; export class App extends Component { constructor(props) { super(props); } render() { return <div class="sample-tutorial"> <div class="sample-spreadsheets"> <SpreadSheets workbookInitialized={spread=>this.initSpread(spread)}> <Worksheet> </Worksheet> </SpreadSheets> </div> </div>; } initSpread(spread) { var sheet = spread.getSheet(0); var floatingObject1 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("f1", 50, 0, 100, 100); var img1 = document.createElement("img"); img1.src = "$DEMOROOT$/spread/source/images/splogo.png"; floatingObject1.content(img1); sheet.floatingObjects.add(floatingObject1); var floatingObject2 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("f2", 50, 120, 100, 100); var img2 = document.createElement("img"); img2.src = "$DEMOROOT$/spread/source/css/images/Food.png"; floatingObject2.content(img2); sheet.floatingObjects.add(floatingObject2); var floatingObject3 = new GC.Spread.Sheets.FloatingObjects.FloatingObject("f3", 50, 240, 100, 100); var img3 = document.createElement("img"); img3.src = "$DEMOROOT$/spread/source/css/images/Calories.png"; floatingObject3.content(img3); sheet.floatingObjects.add(floatingObject3); } }
<!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$/ja/react/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css"> <!-- SystemJS --> <script src="$DEMOROOT$/ja/react/node_modules/systemjs/dist/system.src.js"></script> <script src="systemjs.config.js"></script> <script> System.import('$DEMOROOT$/ja/lib/react/license.js').then(function () { System.import('./src/app'); }); </script> </head> <body> <div id="app"></div> </body> </html>
.sample-tutorial { position: relative; height: 100%; overflow: hidden; } .sample-spreadsheets { width: 100%; height: 100%; overflow: hidden; float: left; } body { position: absolute; top: 0; bottom: 0; left: 0; right: 0; } #app { height: 100%; }
(function (global) { System.config({ transpiler: 'plugin-babel', babelOptions: { es2015: true, react: true }, meta: { '*.css': { loader: 'css' } }, 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-ja': 'npm:@mescius/spread-sheets-resources-ja/index.js', '@mescius/spread-sheets-react': 'npm:@mescius/spread-sheets-react/index.js', '@grapecity/jsob-test-dependency-package/react-components': 'npm:@grapecity/jsob-test-dependency-package/react-components/index.js', 'react': 'npm:react/umd/react.production.min.js', 'react-dom': 'npm:react-dom/umd/react-dom.production.min.js', 'css': 'npm:systemjs-plugin-css/css.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: 'jsx' }, "node_modules": { defaultExtension: 'js' }, } }); })(this);