【发布时间】:2013-04-18 08:55:15
【问题描述】:
我有一个带有 data_block 的 oracle 表单,它显示 25 个项目。
在表单上,我有一个滚动条和一个“删除”按钮。当数据块中的一个项目被选中并按下“删除”按钮时,它会从数据库中删除选定的项目,然后执行 data_block 查询。
默认情况下,这会将用户返回到列表的顶部。
我正在尝试导航到从列表中删除的记录之前的记录。
这可以使用 GO_RECORD(number) 内置函数 (BIF) 来完成(假设 number 是 :System.cursor_record 的保存值)。
这就是我遇到问题的地方。 GO_RECORD BIF 会将记录带到显示的项目列表的顶部或底部。这会导致列表在没有警告的情况下上移 20 项。
即 例如,正在显示数据块中的记录 23 - 47,并选择记录 33。 如果删除了第 33 条记录,我们使用函数 GO_RECORD(32),那么显示的记录将是 32-56(有效地将列表向下移动 9 条记录)。
我假设为了避免这种转变,我需要有一些方法来确定记录在显示中的位置(而不是 data_block)。
有谁知道这个功能是否存在?
或者有没有人有其他方法可以让我得到相同的结果?
【问题讨论】:
标签: oracle forms oracle10g oracleforms