我有两个表需要处理。
一张表"交货"包含发货id为PK,发货存储id为FK,仓库管理员id为FK。
另一个表"Delivery_log"包含复合主键,由交付id和已交付的book id组成。
所以,我的任务是创建一个方便的基于交互式报表的页面来添加和编辑这两个表。
如何工作:
- 首先,第一页应该显示"交付"的内容。表格它可以很好地使用基本的交互式报表模板;
- 然后,应该有添加新行到"Delivery"表格
- 您应该能够编辑这些行,但是标准交互式报告模板在这里不起作用,因为当我们单击id列左侧的编辑图标时,我希望出现另一个页面,该页面也是基于交互式报告的,并显示"Delivery_log"的内容。表,其中交货id等于交货id,我们在前一页选择,当我们点击编辑图标;
- 第二页还必须包含"创建"按钮,以便在"交付日志"中添加新行。表
- 最后,当我们点击编辑图标时应该有一个编辑表单,但事实上"交付日志"表包含复合主键使它更加困难,因为这意味着我必须为该表的每一行创建一个代理键,以便能够更改作为复合主键一部分的book的id。
1、2和4列出我想象如何做的项目,但问题是关于如何改变编辑图标将用户重定向到的页面。我查看了整个交互式报告生成页面,我根本没有找到任何编辑图标的自定义。
第二个问题是如何为"Delivery_log"创建代理键
由于delivery
和delivery_log
是主从关系,也许最简单的选择是使用向导并创建反映这种关系的页面;你会在同一个页面上得到两个交互网格,功能齐全。
如果你想用一个交互式报告和一个表单(这是你目前拥有的)来做,那么
- 默认功能应该留给
delivery
表:- "Create"图标(右上)创建新的交付
- "Edit"图标在每个IR行开始编辑与该交付相关的数据
对于delivery_log
,有两个选项:
- 一是将其交互报告形成,用于维护
delivery
信息;这样你就有了你需要的所有按钮("Create"one_answers"Edit"),这导致第二种形式(基于delivery_log
表) - 另一种是编辑
delivery
交互报表,并添加一个新的链接列,这将导致基于另一个[交互报表+表单]页面集的交互报表,都基于delivery_log
作为代理键列:我将使用序列(或标识列,如果你的Oracle数据库版本支持它)。