CLOSE
PowerBuilder Tips

方法

DataWindow のプロパティには、各行の高さを直接取得するための関数はありません。しかし、Describe 関数内で evaluate を使用することで、指定した行の評価時点における高さを文字列として取得できます。

dw_control.Describe("evaluate('RowHeight()', row_number)")

それから、SetDetailHeight 関数を使用して行の高さを変更できます。

dw_control.SetDetailHeight(startrow, endrow, height)

以下は、偶数行の高さのみを広げたサンプルコードとなります。

long ll_rowcount, i
string ls_height_str
long ll_height
 
// 1. DataWindowの総行数を取得します
ll_rowcount = dw_1.RowCount()
 
// 2. 偶数行のみを対象とするため、2行目から開始し、STEP 2 でループを回します
FOR i = 2 TO ll_rowcount STEP 2
 
    // evaluate()を使用して、現在の行(i)の高さを取得します
    ls_height_str = dw_1.Describe("evaluate('RowHeight()', " + String(i) + ")")
 
    // 取得した文字列が有効な数値かどうかを判定(エラー時は"!"などが返るため)
    IF IsNumber(ls_height_str) THEN
 
        // 戻り値の文字列を数値(Long型)に変換し、100を加算します
        ll_height = Long(ls_height_str) + 100
 
        // 対象の偶数行に対して、Detailフィールドの新しい高さを設定します
        // 引数: SetDetailHeight ( startrow, endrow, height )
        dw_1.SetDetailHeight(i, i, ll_height)
 
    END IF
NEXT
x instagram facebook youtube