PowerTools SPREAD for Windows Forms 10.0J > 開発者ガイド > スタイル > 境界線、罫線、グリッド線 > セルの罫線 |
セルまたはセル範囲の罫線を設定することで、セルの外観をカスタマイズできます。罫線は、セルだけを対象に設定されます。列、行、シート、またはセル範囲に罫線を設定することもできますが、これは列、行、シート、またはセル範囲内の各セルに同一の罫線オブジェクトを設定していることになります。セル範囲の場合、各セルに同一の罫線オブジェクトが使用されます。罫線は、セルまたはセル範囲の上下左右のいずれかの辺だけに表示することも、周囲すべてに表示することもできます。また、以下に示すいずれかの組み込みスタイルで表示することも、独自に定義したカスタマイズ罫線を表示することもできます。デフォルトでは、罫線は表示されません。罫線を設定するには、CellクラスのBorderプロパティ、ColumnクラスのBorderプロパティ、またはRowクラスのBorderプロパティを使用します。
SheetViewクラスには、セル範囲の外枠として罫線を表示するためのSetOutlineBorderメソッドがあります。このメソッドは実際には、セル範囲内の各セルの周囲に個別に罫線を設定することで、外枠のように見せています。セル範囲内の内側に罫線を表示するには、SetInsideBorderメソッドを使用します。
同一のセル、列、行、またはセル範囲に、複数のスタイルおよび色を設定できます。シート内で、セル罫線は左から右、および上から下の順に描画されます。隣接する2つの罫線にそれぞれ異なるスタイルまたは色が設定されている場合は、最後に描画されたほうの罫線が優先され、この罫線が表示されます。ただし、セル罫線にも、各シート要素の特性を決定するためにシートに適用されている優先度が適用されます。つまり、セルの設定は、行、列、およびシートの設定より(この順序で)優先されます。詳細については、「オブジェクトの親子関係」に示す優先順位の一覧を参照してください。
SPREAD デザイナを使用して罫線をカスタマイズする方法については、「罫線の設定エディタ」で、罫線エディタについての解説を参照してください。
左辺および上辺のセル罫線を描画するかどうかは、FpSpreadクラスのBorderCollapseプロパティの設定によって決まります。 BorderCollapseをデフォルトの「Separate」に設定すると、左辺および上辺のセル罫線がグリッド線の内側に描画されます。つまり、最左列および最上行にも左辺および上辺のセル罫線が表示されます。 BorderCollapseを「Collapse」に設定すると、左辺および上辺のセル罫線は、セルの左側および上側のグリッド線に重ねて描画されます。ビューポート、行ヘッダ、列ヘッダ、またはシートコーナーにおいて、最左列および最上行では、左側および上側のグリッド線は表示可能領域の外側に位置します。このため、左辺および上辺のセル罫線も、表示可能領域の外側に描画されることになります(つまり、これらのセル罫線は表示されません)。特にコントロールの外枠、またはヘッダを表示しない場合、予想外の表示結果となるのを避けるため、この点に注意が必要です。右辺および下辺のセル罫線は、BorderCollapseの設定に関係なく、常にセルの右側および下側のグリッド線に重ねて表示されます(詳細については後述の「セルのオーバーラップ表示」を参照)。VisualStylesプロパティをOnに設定した場合、BorderCollapseを「Collapse」に設定してもヘッダおよびフッタセルでは有効になりません(「Separate」に設定した場合と同様に動作します)。
以下、セル罫線のスタイルです。
スタイル | サンプル | 説明 | FarPoint.Win クラス名 |
---|---|---|---|
ベベル罫線 | ハイライト色と影の色がそれぞれ別の色で設定されている場合に、罫線を立体表示 | BevelBorder | |
複合罫線 | セルの各辺の罫線を異なる色と線種(点線、破線など)で設定可能 (「複合罫線」を参照) | ComplexBorder | |
合成罫線 | 2つのベベル罫線で構成され、フレームで分離可能 | CompoundBorder | |
二重罫線 | 並行する2本の線による罫線 | DoubleLineBorder | |
標準罫線 | 通常の1本の線による罫線 | LineBorder | |
角丸罫線 | 1本の線による、角を丸くした罫線 | RoundedLineBorder |
罫線の各スタイルを表すクラスは、それぞれプロパティを設定できます。たとえば複合罫線では、セルの各辺に対してそれぞれ異なるスタイルの罫線を表示できます。上図の例では、上辺と下辺の罫線を破線にし、左右の罫線にはそれぞれ別の色を表示しています。
すべての罫線スタイルにおいて、セルの任意の辺の罫線を非表示に設定できます。
セル罫線は各セルの周囲に適用されます。他のセル罫線に重ねて表示することもできますが、この機能はデフォルトでは無効になっています。 次の図は、2組のセルを示します。 最初の組では、セル罫線は重ねて表示されず、個別に表示されています。 次の組では、セル罫線が重ねて表示されています。
罫線 | 表示例 |
---|---|
罫線を個別に表示(オーバーラップなし) | |
罫線を重ねて表示(オーバーラップ) |
罫線を重ねて表示するかどうかは、FpSpreadクラスのBorderCollapseプロパティを設定して定義します。隣接する2つのセルにそれぞれ異なる属性を設定し、セル罫線を重ねて表示するように指定している場合は、右または下に位置するセルのほうが優先されます。画面上では、シートは左から右、および上から下の順に描画されることに注意してください。したがって、後続のセルの罫線プロパティが、1つ前のセルよりも常に優先されます。
セル罫線は、グリッド線の幅の分量だけが重ねて表示されます。 したがって、幅が3ピクセルの罫線を2つ重ねて表示する場合、グリッド線の幅が1ピクセルであれば、重ねられた2つの罫線の合計幅は5ピクセルとなります。
罫線とグリッド線の違いは、グリッド線が行と列の区切りとして表示されるのに対し、罫線はセルまたはセル範囲の周囲に表示されることです。 罫線は、グリッド線の上に重ねて描画されます。
シート内の全セルに対して罫線を表示する場合は、通常はグリッド線を非表示にします。これには、HorizontalGridLine および VerticalGridLine プロパティを使用して、グリッド線の種類を「なし」に設定します。 グリッド線の詳細については、「グリッド線」を参照してください。
作成する罫線の種類に対して、罫線オブジェクト(BevelBorderクラス、ComplexBorderクラスなど)を作成します。SheetViewクラスのCellsプロパティで対象のセルを参照し、CellクラスのBorderプロパティに、作成した罫線オブジェクトを設定します。
次のサンプル コードは、ベベル罫線を作成して、セルに設定します。
C# |
コードのコピー
|
---|---|
// ベベル罫線を作成します。 FarPoint.Win.BevelBorder bevelbrdr = new FarPoint.Win.BevelBorder(FarPoint.Win.BevelBorderType.Raised, Color.Cyan, Color.DarkCyan); // B3セルの罫線にこのベベル罫線を設定します。 fpSpread1.Sheets[0].Cells[4, 3].Border = bevelbrdr; |
Visual Basic |
コードのコピー
|
---|---|
' ベベル罫線を作成します。 Dim bevelbrdr As New FarPoint.Win.BevelBorder(FarPoint.Win.BevelBorderType.Raised, Color.Cyan, Color.DarkCyan) ' B3セルの罫線にこのベベル罫線を設定します。 FpSpread1.Sheets(0).Cells(4, 3).Border = bevelbrdr |