私は半動的に作成されたウィンドウを持っています(そして PowerBuilder 10.5 を使用しています)。現在、異なる色を持つことができる列がいくつかあり、行を選択するときにそれらの色を表示したいと考えています。ただし、これらの列の選択を解除し、最初の数列を選択したままにする方法がわかりません。このアプリケーションのハイライト関数は、dw.selectrow( x, true ) を実行するだけです。
よろしく、 マリヌス
私は半動的に作成されたウィンドウを持っています(そして PowerBuilder 10.5 を使用しています)。現在、異なる色を持つことができる列がいくつかあり、行を選択するときにそれらの色を表示したいと考えています。ただし、これらの列の選択を解除し、最初の数列を選択したままにする方法がわかりません。このアプリケーションのハイライト関数は、dw.selectrow( x, true ) を実行するだけです。
よろしく、 マリヌス
を使用して必要なものが得られるとは思いませんselectrow
。複数の選択が必要ない場合は、データウィンドウで式を使用して現在の行の背景を変更できます。一部の列を通常のままにしたい場合は、行の色を変更する代わりに、強調表示したい列の後ろに長方形を使用してそれを行うことができます。複数の行を強調表示する必要がある場合は、ダミーの列を追加し、それを使用して背景を制御することで複数選択をシミュレートする必要があります。もちろん、clicked
イベントで選択と選択解除を処理する必要があります。選択した行を処理するコードがある場合は、ダミー列の値を確認するなどして、新しいスキームを使用するように変更する必要があります。
SelectRow() を使用する場合は、SetRowFocusIndicator() を使用すると役立つ場合があります。IIRC (私が使用してから 10 年近くになります)、新しい方法を優先して行の色付けを無効にします。
他に思いつく方法は、GetRow() と CurrentRow() を使用して背景色の式を設定することです。これは私の最初の選択肢ではありません。視覚障害のあるユーザーが、標準的な Windows の色選択から自分で処理できる色を選択できないためです。行く道になります。
幸運を、
テリー。