マスター/ディテール データウィンドウがあります。詳細ウィンドウで、ユーザーが行をクリックすると、ユーザーがクリックした行のすぐ下にあるポップアップ データウィンドウとして別のデータウィンドウを開きます。詳細ウィンドウの行数が 11 未満であれば問題なく動作します。ウィンドウに 11 行を超える行が含まれている場合、ユーザーが下の領域から行をクリックすると、ポップアップが本来あるべき場所に配置されません。
私の推測では、ユーザーが下部領域の行をクリックすると、ウィンドウが一番下までスクロールされ、スクロールの結果として一部の行が非表示になります。スクロールの結果として 2 つの行が非表示になる場合、ポップアップは目的の行の下に 2 つの行を開きます。私のポジショニングロジックは以下の通りです -
// "parent" is the user object that contains the datawindow
// "row" contains clicked row number
// "this" points to the detail datawindow
ll_detail_height = long(this.Object.DataWindow.Detail.Height)
dw_status.y = this.y + ( ll_detail_height * (row) ) + parent.y
この問題を解決するにはどうすればよいですか?