<< Click to Display Table of Contents >> マニュアル > コントロールリファレンス > 基本 > グリッドコントロール > 機能説明 > グリッドのプロパティ設定 > セルプロパティを直接設定する |
セルプロパティを直接指定する方法
セル単位にセルプロパティを設定する方法について説明します。
グリッドに表示する表示内容が行単位や列単位ではなく、個別に設定する必要があるような場合はこの方法が適しています。
セルごとにセルプロパティを設定することで、グリッドを用いた以下のような表示が可能です。
(セルごとに表示形式を指定したイメージ)
セルプロパティを各セルで個別に設定する場合は、以下のメソッドを利用します。
・・・ 対象のセルのセルプロパティを設定します。 |
以下は、セルプロパティを個別に設定したスクリプトの記述例です。
this.Rows = 10; this.Cols = 5; this.SetCellProperty( "all",c("CellType:label", "FillColor:#FFFFFF", "TextAlignX:RIGHT")); this.SetCellProperty( "cell",c("CellType:lamp", "Shape:CIRCLE", "OnColor:#FF0000", "OffColor:#00FF00"),3,1); // 列の幅を設定 this.SetColWidth(0, c(110, 110, 22, 110, 110)); // ヘッダのタイトル設定 this.SetTableData( c("機器1", c("", "55:35:20", 95, "", "3回", F)), 0, 0, F );
■解説
1) |
表示するグリッドの行数、列数を指定 this.Rows = 10; this.Cols = 5;
|
||
2) |
セルプロパティを設定 this.SetCellProperty( "all",c("CellType:label", "FillColor:#FFFFFF", "TextAlignX:RIGHT")); this.SetCellProperty( "cell",c("CellType:lamp", "Shape:CIRCLE", "OnColor:#FF0000", "OffColor:#00FF00"),3,1);
SetCellPropertyメソッドでは、第1パラメータで "all"(全て) / "col"(列) / "row"(行) / "cell"(セル) / "range"(範囲) のいずれかを指定して範囲を定義します。
そして、第2パラメータに、その範囲のセルに対して適用するセルプロパティを配列で指定します。
第2パラメータは、以下の書式で指定します。
また、一度に複数のセルプロパティを設定する場合は、配列で指定します。
|
||
3) |
列の幅を指定 this.SetColWidth(0, c(110, 110, 22, 110, 110));
|
||
4) |
ヘッダ、および各セルへデータを設定 this.SetTableData( c("機器1", c("", "55:35:20", 95, "", "3回", F)), 0, 0, F );
|
個別にプロパティを指定する表示形式では、セルプロパティを設定した後に新たに行、および列を追加すると、後から追加されたセルはセルプロパティが設定されていない状態です。そのため、追加したセルに対して新たにセルプロパティを設定する必要があります。 |
SetCellPropertyメソッドには構文がいくつか用意されており、行単位(row)、列単位(col)、セル全体に対してセルプロパティを一括で設定することもできます。 また、プロパティは配列により複数同時に指定することもできます。
列単位で複数プロパティを一括で設定した例)
|
セルのプロパティ(背景色、文字の色、文字の位置、点滅など)を設定する場合、予めセルタイプを設定する必要があります。共通セルプロパティ「CellType」によりセルタイプを設定する場合、配列の先頭で指定する必要があります。
this.SetCellProperty( "col", c("CellType:button", "TextColor:@TextColor"), 1 );
|
ヘッダセルのプロパティ(背景色、文字の色、文字の位置、点滅など)を設定する場合、SetCellPropertyメソッドの第1パラメータで「cell」「row」「col」「range」でセルタイプを設定する必要があります。「all」ではヘッダのセルタイプは設定されません。また、ヘッダを指すインデックスはマイナス値を指定する必要がある点にも注意してください。
this.SetCellProperty( "cell", c("CellType:label", "FillColor:#FFFFFF", "TextAlignX:RIGHT"), 0, -1 );
|