我有一个主从数据窗口。在详细信息窗口中,当用户单击一行时,我将另一个数据窗口作为弹出数据窗口打开,该数据窗口位于用户单击的行的正下方。只要详细信息窗口中的行数少于 11 行,它就可以正常工作。当窗口包含超过 11 行并且用户从下部区域单击一行时,弹出窗口不会放置在它应该在的位置。
我的猜测是,当用户单击下部区域中的一行时,窗口会滚动到底部,并且由于滚动,某些行会被隐藏。如果由于滚动而隐藏了两行,则弹出窗口将在所需行下方打开两行。我的定位逻辑如下——
// "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
我该如何解决这个问题?