代码之家  ›  专栏  ›  技术社区  ›  Pablo

要使用哪种类型的页面?

  •  0
  • Pablo  · 技术社区  · 7 年前

    我想构建一个页面,它绑定到一个表,有两个基本列:文件数据为blob,文件名为varchar。

    enter image description here

    因此,页面中的每一行表示表中的一行。用户应该能够上传数据(无需刷新页面)、删除或下载现有数据。

    问题是哪种类型的页面允许我通过为每行添加文件浏览/上传按钮来构建这样的页面?

    顶点5.1

    2 回复  |  直到 7 年前
        1
  •  0
  •   Tony Andrews    7 年前

    以下是您可以考虑的一些选项,尽管根据您对@Littlefoot答案的评论,您可能觉得它们不合适。

    1) 您可以在经典报告、交互式报告或交互式网格中创建浏览、上载、删除和下载操作,作为链接类型的列。如果需要的话,这些链接可以打开一个模式表单,例如用于浏览,或者您可以使用动态操作让它们做一些定制的事情,例如运行一些Javascript。您可以使用CSS使链接看起来更像按钮。

    2) 您可以在SQL查询中使用定制HTML定义浏览等操作,将列类型设置为仅显示,并将“Escape special characters”设置为否。这同样可以使用3种报告类型中的任何一种来完成。例如:

    select filename
         , '<button type="button" id="browse-' || file_id || '">Browse</button>' browse
           ...
    

    现在,您可以使用动态操作使按钮执行您想要的任何操作。

        2
  •  0
  •   Littlefoot    7 年前

    如果我了解您想要做什么,那将是一个表格形式的页面(现在放在 旧版页面 创建页面 向导),因为它允许您 添加 您可以任意多次创建新行。

    不幸的是,据我所知,你不能使用 文件浏览 其中的项目。有 显示图像 下载BLOB 项目类型,但它们都不允许您上载图像。

    另一种页面类型(我想是从5.1开始提供的),哪种 替换 表格页面,是一种交互式网格。尽管如此,它也是如此——无法向其中添加任何与BLOB上传相关的内容。

    几年前,当我不得不开发一个类似于您的页面(使用Apex 4.x)时,我创建了一个HTML页面,并手动添加了10个“文件浏览”项,其存储类型为WWV\U FLOW\u FILES表(现在已弃用;您可以改为使用Apex\u APPLICATION\u TEMP\u文件)。

    它工作得很好,但只允许并行上载10个文件。这当然没有我们想要的那么好,但已经足够满足我们的需要了。

    我做了一些研究(现在),发现几个OTN论坛讨论了同一个主题,但没有一个作者让它起作用。

    也许你可以用其他一些技术(比如JavaScript)做你想做的事情,但我真的不知道怎么做。很抱歉,无法更好地帮助您。