SpreadJS製品ヘルプ
列と行の分割サイズ
SpreadJS > 開発者の手引き > 機能 > ユーザーインタフェースの管理 > 列と行の分割サイズ

Spread.Sheetsでは、スプレッドシートを操作する際に分割サイズ機能がサポートされています。

分割サイズ機能の処理方法

分割サイズ機能を使用すると、ユーザーはワークシート内の行や列全体に影響せず、現在の行または列を次の表示列または行とともにサイズ変更できます。これにより、隣接する行と列がワークシートの表示領域またはビューポートから外に移動することを回避できます。

たとえば、分割サイズモードで作業する際、列Aのサイズを変更すると列Bもサイズが変更されますが、残りの列(列C、D、E、F、G、H、Iなど)のサイズは変更されず、ビューポート領域も影響されません。

標準サイズモードと分割サイズモードの比較 標準サイズモードでは、行または列のサイズを変更すると、隣接するすべての行および列が右側に移動され、ビューポートから外に移動します。一方、分割サイズ変更モードでは、スプレッドシートでサイズ変更の操作が行われたたときに他の行と列の位置が影響を受けないことが保証されます。 

使用例

分割サイズ機能は、特に財務、バンキング、株式、取引などの複雑なアプリケーションを分析している場合に役立ちますなお、本機能はスプレッドシートのエクスポートや印刷時、およびページングの設定には影響しません。一方、標準サイズモードでは、行が次のページに移動され、最終列が表示しきれない可能性があります。

たとえば、ワークシートで株式アプリケーションの分析を行い、現会計年度に販売された複数の株式に対して、株式投資のパフォーマンスを比較する必要があるとします。次の図を参考ください。

分割サイズモード:このモードでは、上記のスプレッドシートの最初の列(株式投資名)のサイズを変更しても、何度も反復して左右にスクロールすることなく、同じビューポートの最終列(損益の割合)の情報を追跡できます。

標準サイズモード: 通常モードで列A(株式投資名)のサイズを変更すると、上記図に示されているように、最終列がビューポート外にあふれて、重要な情報(損益の割合)が見逃される可能性があります。

分割サイズモードを有効にする方法

行や列のサイズを変更する際、ユーザーが「normal」と「split」の2つの異なるモードを選択できます。デフォルトで、normalモードが設定されています。ただし、行または列のサイズを変更するときにCtrlキーを押すことで分割サイズ機能を使用できます。

分割サイズ機能を有効にするには、ResizeMode列挙体の「split」オプションを使用できます。 ResizeModeが「split」に設定されている場合には次の動作になります。

分割サイズモードでは、次の操作を実行できます。

コードの使用

次のサンプルコードは、分割サイズモードで行と列のサイズを変更する方法を示します。

JavaScript
コードのコピー
<script>
  $(document).ready(function()
  {
    // Spreadを初期化します。
    var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), {
      sheetCount: 1
    });
    // activesheetを取得します。
    var activeSheet = spread.getSheet(0);
    // columnResizeModeおよびrowResizeModeを「Split」に設定します。
    spread.options.columnResizeMode = GC.Spread.Sheets.ResizeMode.split;
    spread.options.rowResizeMode = GC.Spread.Sheets.ResizeMode.split;
    activeSheet.suspendPaint();
    var colHeader = GC.Spread.Sheets.SheetArea.colHeader;
    activeSheet.setRowCount(12);
    activeSheet.setColumnCount(5);
    for (var i = 0; i < activeSheet.getColumnCount(GC.Spread.Sheets.SheetArea.viewport); i++)
      activeSheet.setColumnWidth(i, 120);
    activeSheet.setValue(0, 0, '株式投資名', colHeader);
    activeSheet.setValue(0, 1, '現在株価($)', colHeader);
    activeSheet.setValue(0, 2, '市場価格($)', colHeader);
    activeSheet.setValue(0, 3, '総額($)', colHeader);
    activeSheet.setValue(0, 4, '損益(%)', colHeader);
    activeSheet.setArray(0, 0, [
      ["Citycon-Oyj Corporation", 232.460, 492.00, 500.00, '-1.6%'],
      ["M-Secure Corporation", 560.270, 312.00, 300.00, '4.0%'],
      ["Nortan Corporation", 433.220, 711.00, 688.50, '3.3%'],
      ["Teski Corporation", 232.310, 693.00, 465.90, '48.7%'],
    ]);
    spread.resumePaint();
  }); 
</script>