我需要填充整个区域的单元格,没有标题和颜色

时间:2012-11-14 12:43:19

标签: html css oracle-apex

我需要填充基于特定计数sql的整个单元格,颜色取决于返回的数量。

我试过的解决方案:

pl / sql根据count给出background_color替换字符串。 此字符串以列格式化属性传递,如下面的代码

<table>
  <td WIDTH=30 HEIGHT=30 onclick="window.open('http://page.com" bgcolor=#BG_COLOR# >#COUNT(*)#</td>
</table>

page.com是显示同一窗口中sql的所有结果(不计数)的页面

问题:

整个细胞没有充满颜色。可能是细胞可以调整大小或者可以做一些事情

1 个答案:

答案 0 :(得分:0)

您可以通过使用报告来解决此问题,但需要一些javascript /动态操作来实际更改单元格的背景。即使你生成一些HTML代码,你的单元格也不会被100%填充,因为它也将被包装在报告的html结构中(即TD元素)。
您可以创建一个新的报告模板(共享组件&gt;模板),但即便如此,您仍然需要在您的SQL中生成一些HTML代码。

如果你只有1个记录和1个单元格并且最终需要在其中生成一些html,那么我实际上不会使用报告区域。使用PLSQL区域并在其中生成一些HTML。例如:

DECLARE
   lCount NUMBER;
   lColour VARCHAR2(50);
BEGIN
   SELECT count(*)
     INTO lCount
     FROM emp;

   IF lCount < 10 THEN
      lColour := 'blue';
   ELSIF lCount > 10 THEN
      lColour := 'red';
   END IF;

   htp.p('div style="background-color: '||lColour||'; width: 30px; height: 30px;">'||lCount||'</div>');
END;

您可能需要更改区域模板,以完全满足您的需求。您可以随时复制一个并对其进行更改,以使其对您生成的html影响最小。