Tips
ウィンドウに配置した同種のコントロールを配列に格納する
方法 ウィンドウ上に配置されている同じ種類のコントロールを配列に格納するには、ウィンドウの Control プロパティを取得し、TypeOf 関数でコントロールの種類を判定します。 Control プロパティはウィンドウ […]
システムツリーに表示されるターゲットの順序を変更する
方法 システムツリー内に表示されているターゲットの順序は、ワークスペースのプロパティで変更することができます。 ワークスペース名をマウス右クリックで表示されるメニューから [プロパティ] を選択するとワークスペースのプロ […]
呼び出したイベントを現在の処理の後で実行させる
方法 PowerBuilder では POST を使用することで、システム関数、グローバル関数、オブジェクト関数、ユーザ定義関数および外部関数といった関数や組み込みのイベント、ユーザ定義イベントを、呼び出し元の処理が完了 […]
一定の行数でデータウィンドウを改ページする
方法 データウィンドウにおいて一定の行数ごとに改ページを行うには、”Ceiling(GetRow() / n)” といった式の計算フィールドで行をグループ化します。 手順は下記のとおりです。 デー […]
ツリービューのスクロールバーを表示させない
方法 ツリービューコントロールで項目を展開した時の高さがコントロールの高さ以上になると自動的にスクロールバーが表示されます。 スクロールバーを表示させないようにするには、例えば SingleExpand プロパティを利用 […]
ウィンドウを閉じる際に LoseFocus イベントを発生させないようにする
ウィンドウを閉じる際にコントロールの LoseFocus イベントを発生させないようにするには、目的の処理を LoseFocus イベントに直接記述せず、別の関数やイベントとして作成して Post 呼び出しします。 ウィ […]
子ウィンドウから呼び出し元の親ウィンドウを処理する
方法 複数の異なる親ウィンドウから共通の子ウィンドウを呼び出した後、子ウィンドウから呼び出し元の親ウィンドウに対して処理を実行するには、呼び出し元の親ウィンドウオブジェクトを引数として子ウィンドウに渡すことで処理が可能で […]
MDI ウィンドウ内で特定のシートをアクティブにする
方法 MDI ウィンドウ内で特定のシートをアクティブにするには、GetFirstSheet 関数とGetNextSheet 関数を呼び出し各シートのウィンドウを取得した後にそのタイトル名を参照して SetFocus 関数 […]
「自動選択」プロパティがないカラムにフォーカスが移ったときにテキストを全選択する
方法 エディットマスクなど「自動選択」プロパティがない編集様式のカラムにフォーカスが移動した際に、入力されているテキストを全選択するには ItemFocusChanged イベントで SelectText 関数を使用しま […]
背景色が透明に設定されたカラムの色をスクリプトで変更する
方法 背景の色として「透明」が設定されているカラムは、スクリプトでプロパティ Background.Color を設定しただけでは指定した色として表示できません。 指定した色を適用するには Background.Mode […]
サイズが可変のウィンドウの最大・最小サイズを設定する
方法 サイズ可変プロパティを有効にしているウィンドウのサイズを一定のサイズ以上、もしくは一定のサイズ以下に拡大縮小させないようにするには、 ウィンドウの resize イベントで制御します。 グリッドやタブラ提示様式デー […]
ユーザーオブジェクトに定義された関数を使用する
方法 ユーザーオブジェクトに定義された関数を別のオブジェクトで使用するには、ユーザーオブジェクトのインスタンスを作成してドット表記で呼び出します。 【例】 // オブジェクト名:uo_someobj // 関数名:uf_ […]
データウィンドウの SELECT 文の WHERE 句を動的に変更する
方法 Describe 関数と Modify 関数を使用してデータウィンドウの SELECT 文の WHERE 句を動的に変更することができます。 Describe 関数を使用して SELECT 文を取得し、取得された […]
検索時にデータウィンドウを初期化せず現在のデータに追加する
方法 検索時にデータウィンドウを初期化して再検索を行うのではなく、新たな検索結果を現在のデータに追加するには、RetrieveStartイベントで Return 値として 2 を返します。 Retrieve 関数は既定で […]
分割されているデータウィンドウのスクロールボックスの位置を指定する
方法 グリッドやタブラ提示様式データウィンドウの水平スクロール分割位置を指定する場合は、データウィンドウコントロールプロパティの「水平スクロールバーの分割可能」プロパティを利用することで実現できます。 分割されたデータウ […]
データウィンドウ内のドロップダウンリストボックスのコード表を変更する
方法 データウィンドウ内のドロップダウンリストボックスのコード表を変更するには SetValue 関数を使用します。SetValue 関数では変更する「表示の値」と「データの値」をタブ(~t)区切りにして設定します。また […]
データベーストレースツールを利用する
方法 データベース トレース ツールを使用することで、PowerBuilder または PowerBuilder アプリケーションから接続中のデータベースに対して実行される内部コマンドの記録をログファイルに出力できます。 […]
ドロップダウンリストボックスの行数を取得する
方法 データウィンドウのドロップダウンリストボックスの行数を取得するには、Value プロパティ内の Tab 文字の個数をカウントします。 ドロップダウンリストボックスのリストはカラムの Values プロパティに格納さ […]
コンポジットデータウィンドウで特定のレポートだけを検索する
方法 コンポジットデータウィンドウで特定のレポート (チャイルドデータウィンドウ) だけを検索するには、レポートへの参照を GetChild 関数で取得して Retrieve を呼び出します。 【例】コンポジットデータウ […]
ドット表記でコンポジットデータウィンドウのデータをコピーする
方法 ドット表記でコンポジットデータウィンドウのデータをコピーする場合は、Object と Data プロパティを利用します。異なるデータウィンドウにもコピーすることができますが、項目数およびデータ型とその順序が一致して […]
マシンコードで配布したアプリで Error オブジェクトの情報を取得する
方法 マシンコード (DLL) で配布したアプリケーションの SystemError イベントなどで Error オブジェクトから情報を取得するには、プロジェクトの「コード生成オプション」で「エラー情報」を有効にします。 […]
計算フィールドで他の行のカラムを参照する
方法 データウィンドウの計算フィールドで他の行のカラムを参照するには、カラム名に “[n]” を付与して現在行からの相対位置を指定します。 なお、存在しない行が指定された場合、値は Null とな […]
デバッグ時のデバッガ―表示による LoseFocus イベント発生を抑制する
方法 デバッグモードでの実行時にブレークポイントでデバッガーが表示された場合、意図せず LoseFocus イベントが発生してしまいますが、デバッグモードによる実行ではこの動作を抑制する方法はありません。 LoseFoc […]
重複値を除外してグループ単位の値を集計する
方法 データウィンドウでグループ単位となる値を集計する際に、すべての行を合計しないようグループごとに 1 件ずつを集計対象とするには、集計関数で DISTINCT を指定します。 グループ単位となるカラムでもデータウィン […]
変換確定時に Enter キー入力時の処理を行わないようにする
方法 Key イベントで KeyDown 関数を使用して Enter キー入力時の処理を行っている場合、IME による漢字変換の確定時にもその処理が実行されてしまいます。 これを回避するためには KeyDown 関数では […]
埋め込み SQL で FROM 句がない SELECT 文を発行する
方法 Microsoft SQL Server などの DBMS を利用する際、FROM 句が省略された SELECT 文をスクリプトから発行して結果集合を取得する場合は、動的 SQL 構文を使用します。 埋め込み SQ […]
タブコントロール内のクリックされたタブページを取得する
方法 クリックされたタブページの番号は、タブコントロールの clicked イベントで取得できます。タブページをクリックするとタブコントロールの clicked イベントで引数としてユーザーがクリックしたタブページのイン […]
ツリービューコントロールで選択された項目の値を取得する
方法 ツリービューコントロールの項目が選択された際に、その項目の値 (label) を取得するには、SelectionChanged イベントで GetItem 関数を呼び出します。 ツリービューコントロールの Sele […]
ドロップダウンリストボックスの展開、折り畳み時にイベントを発生させる
方法 PowerBuilder 標準のドロップダウンリストボックスにはリストボックスが展開される際や折り畳まれる際のイベントは用意されていませんが、イベント ID を利用することで定義できます。展開されたときのイベント […]
データウィンドウのデータソースとなる SELECT 文を取得する
方法 データウィンドウのデータソースとなる SQL SELECT 文を取得するには、GetSQLSelect 関数を利用します。 【例】 string ls_syntax // SELECT 文を取得 ls_syntax […]