セルのブロックの選択と動作 Begin | Previous | Next
セル範囲の指定 | 選択および選択したセル範囲 | 選択ポリシー | スパン | Fill 値の入力とプロパティ | 値の入力とプロパティと値の増加 | セルのグループに線を描く | コピーと貼り付け

セル範囲の指定
1 行のコードで、セルの選択範囲をセルのグループとして各セルの多くのプロパティを設定できます。次の呼出しで、ユーザーが選択したセル範囲の値を取得できます:
grid.getCells()
次の呼出しで、指定した行の範囲のすべてのセルの値を取得できます:
grid.getRows( firstRow, lastRow )
次の呼出しで、指定した列の範囲のすべてのセルの値を取得できます:
grid.getColumns( firstColumn, lastColumn )
次の呼出しで、セルの選択範囲の任意の値を取得できます:
grid.getCells( firstRow, firstColumn, lastRow, lastColumn )
チュートリアルの例では、1 つ以上の範囲の型を使用します。どのセルでも選択を編集できるわけではありません。
選択と選択したセル範囲
プログラム上で、2 つの方法で選択を設定できます:
grid.setRow( row );
grid.setCol( column );
行と列を指定したセルは、選択状態となり、アクティブなセルとして参照できます。セルのブロックを選択するには、上記の呼出しの後で、更に下記の 2 つのメソッドを呼ぶ必要があります:
grid.setRow2( endRow );
grid.setCol2( endColumn );
これは、選択セル範囲の始めの行と列を指定し、そして終わりの行と列を指定します。次の呼出しで、選択したセル範囲の値を取得します:
grid.getCells()
選択ポリシー
以下は行全体を選択する時にのみ使用します:
grid.setSelectionPolicy( DsGrid.SELECTION_BY_ROW );
また、以下は列全体を選択する時にのみ使用します:
grid.setSelectionPolicy( DsGrid.SELECTION_BY_COLUMN );
また、以下で任意のセルのブロックを選択可能にします:
grid.setSelectionPolicy( DsGrid.SELECTION_FREE );
スパン
他のセルが使用している画面の領域をスパンできます。そのセルは、非表示となりますが、オリジナルの値とプロパティを保持します。他のセルにスパンしたセルは、スパンするセルの範囲のサイズとなります。以下のように、選択状態のセルのようにセル範囲を使用してスパンを作成できます:
grid.getCells().span();
または、この例では、下記のような呼出しをして、スパンを作成し、セル 1,1 から始まって、2 行 2 列をスパンします。
grid.spanCells( 1, 1, 2, 2 );
値の入力とプロパティ
選択したセル範囲で、fillDown、fillRight、fillUp または fillLeft を実行できます。これで、選択範囲の始めのセルを取得し、セルの値とプロパティを指定した方向のセルにコピーします。この例では、行の始めの値とプロパティを取得し、その値とプロパティを選択状態のセルの下のセルにコピーします。
grid.getCells().fillDown();
値の入力とプロパティ、値の増加
選択したセル範囲内で、任意の方向に指定した値を入力できます。入力する方向をセルの選択範囲の順番で設定できます。reOrder メソッドを呼び出して、範囲を再順序化できます。そして、セルの選択範囲の順番によって、列を上げたり下げたりするのに、fillColumns を呼び出します。その値が seriesType で指定した型と一致しない場合、その型に強制的に合わせます。この例では、行の始めの値とプロパティを取得し、その値とプロパティを選択状態のセルの下のセルにコピーします。上記のセルから、各日付の月を 1 づつ増やします。
grid.getCells(1,1,3,2).fillColumns(DsGridCellRange.SERIES_MONTH,1,true);
セルのグループに線を描く
セルの選択範囲の周りに線を描けます。この例では、選択したセルの周りに幅 2 pt の緑色の破線を描きます。
grid.getCells().outline( Color.green, DsConstants.DASH, 2 );
選択したセルのグリッド線を描く
グリッドの特定の範囲にのみグリッド線を描くように設定できます。最も簡単な方法は、ShowGrid プロパティを OFF にして、選択した特定のセルのみ ON にします。
grid.setShowGrid( false );
grid.getCells( 1, 1, 2, 1 ).setShowGrid( true );
各ボーダーのプロパティを設定することによって、より柔軟的になります。たとえば、グリッドに破線を表示する場合、以下のようになります。
grid.setShowGrid( false );
grid.setGridColor( Color.blue );
grid.getCells( 1, 1, 2, 1 ).setBorderStyle( DsCell.GRID_DOT );
grid.getCells( 1, 1, 2, 1 ).setBorderLines( DsCell.BORDER_OUTLINE );
コピーと貼り付け
標準的なキーボードのショートカット、Control-C と Control-V で、クリップボードへコピーおよびクリップボードから貼り付けを実行できます。またプログラム的には、以下のようになります:
grid.copyToClipboard();
grid.paste();
Copyright © 1998-2002 XLsoft Corporation. All Rights Reserved.