我想构建一个绑定到单个表的页面,它有两个基本列:文件数据为blob,文件名为varchar。
因此页面中的每一行代表一行中的一行。用户应该能够上传数据(无需刷新页面),删除或下载现有数据。
问题是哪种类型的页面允许我构建这样的页面,通过为每行添加文件浏览/上传按钮?
APEX 5.1
答案 0 :(得分:0)
如果我理解您要做的事情,那就是表格形式页面(现在位于创建页面中的旧页面下)向导),因为它允许您根据需要添加一个新行。
不幸的是,据我所知,您无法在其中使用文件浏览项。有显示图像或下载BLOB 项目类型,但它们都不允许您上传图像。
另一种页面类型(可用,呵呵,5.1,我认为),哪种替换表格页面,是一个交互式网格。虽然,它也是如此 - 没有办法添加任何与BLOB上传相关的内容。
几年前,当我不得不开发一个类似于你的页面时(使用Apex 4.x),我创建了一个HTML页面并手动添加了10"文件浏览"存储类型为WWV_FLOW_FILES表的项目(现已弃用;您将改为使用APEX_APPLICATION_TEMP_FILES)。
它工作正常,但只允许并行上传10个文件。这肯定不如我们想要的那样好,但它足以满足我们的需求。
我做了一些研究(现在),发现了几个关于同一主题的OTN论坛讨论,但是没有一个作者让它发挥作用。
也许你可以用其他技术(比如JavaScript)做你想做的事,但我真的不知道该怎么做。很抱歉无法为您提供更好的帮助。
答案 1 :(得分:0)
以下是您可以考虑的一些选项,但根据您对@ Littlefoot的回答,您可能认为它们不合适。
1)您可以在“经典报告”,“交互式报告”或“交互式网格”中将“浏览”,“上载”,“删除”和“下载”操作创建为“链接”列。如果需要,链接可以打开模态形式,例如对于Browse,或者你可以使用动态动作让他们做一些定制的事情,例如:运行一些Javascript。您可以使用CSS使链接看起来更像按钮。
2)您可以在SQL查询中使用定制的HTML定义Browse等操作,将列类型设置为仅显示,使用" Escape特殊字符"设置为否。这可以使用3种报告类型中的任何一种来完成。例如:
select filename
, '<button type="button" id="browse-' || file_id || '">Browse</button>' browse
...
现在,您可以使用动态操作使按钮执行任何操作。