2016-10-28 1 views
0

特定の値に応じてデータウィンドウがあります。 X = 1の場合、1つの列が編集可能です。 X = 0の場合、列は保護され、無効になります。 データウィンドウの他のすべてのカラムには、タブインデックス0が付いています。一部の行に編集可能な列があり、他の行が表示されていないデータウィンドウで、rowを選択できません。

これを設定すると、ユーザがカラムを有効にしないで行を選択しようとすると、click()イベントからコード内でrow()を選択できません。列が有効な次の行にユーザーを配置します。

したがって、すべての行に有効な列がある場合、すべての行を選択することができます。列が有効になっている行がない場合は、すべての行を選択することもできます。しかし、私の場合、一部の行には有効になっている列があり、他の行には有効ではありません。有効な列を持つ行のみが使用可能です。

PowerBuilder内のデータウィンドウオブジェクトにこの同じ問題が発生したことがありますか?その場合、解決策がありますか?私はrowfocuschanged()イベントにいくつかのコードを配置しようとしましたが、これは私の問題を解決しませんでした。

答えて

0

あなたはあなたのdwのクリックイベントで以下を試すことができますか?

if row = 0 then return 
this.selectrow(0, false) 
this.selectrow(row, true) 
this.setrow(row) 
+0

それでも同じ問題が、いくつかの他のコードの間に実際には、これは我々がすでに持っているものです:あなたはこのような何かを行うことができます。例えば; 3行がある場合、行1と3には編集可能なコンテンツ行2がありません。行1がデフォルトで選択され、ユーザーが行2をクリックしようとすると、選択された現在の行は、行1に素早くジャンプしてから行1に戻ります。 – drewglew

+0

@drewglew、window/datawindow of_selectrow(長い行)。データウィンドウのクリックイベントから、post of_selectrow(row)を呼び出します。 – Arfath

0

タブの順序が設定されていることを確認してください。データウィンドウで選択された行は、色が透明であるため強調表示されません。

Datwindow details background set

関連する問題