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

Html 我需要用颜色填充没有标题的区域的整个单元格,html,css,oracle-apex,Html,Css,Oracle Apex,我需要根据返回的数量,用颜色填充基于特定计数sql的整个单元格 我尝试的解决方案是: 基于计数给出背景颜色替换字符串的pl/sql。 此字符串在列格式化属性中传递,如下代码所示 <table> <td WIDTH=30 HEIGHT=30 onclick="window.open('http://page.com" bgcolor=#BG_COLOR# >#COUNT(*)#</td> </table> page.com是在同一窗口中显示sq

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

我尝试的解决方案是:

基于计数给出背景颜色替换字符串的pl/sql。 此字符串在列格式化属性中传递,如下代码所示

<table>
  <td WIDTH=30 HEIGHT=30 onclick="window.open('http://page.com" bgcolor=#BG_COLOR# >#COUNT(*)#</td>
</table>
page.com是在同一窗口中显示sql的所有结果而不是计数的页面

问题:


整个细胞没有被颜色填满。可能是可以调整单元格的大小,或者可以做一些事情

您可以通过使用报告来解决这个问题,但是需要一些javascript/动态操作来实际更改单元格的背景。即使生成一些html代码,您的单元格也不会被100%填充,因为它也会被包装在报表的html结构中,即TD元素。 您可以创建一个新的报表模板shared components>templates,但即使这样,您仍然需要在sql中生成一些html代码

如果您只有一条记录和一个单元格,并且最终需要在其中生成一些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影响最小。

@您的代码已损坏。请提供完整的代码片段。另外,使用css属性background color:BG_color可能会有所帮助。这个单元格是标准报表、交互式报表中的单元格吗,您自己生成的标记或您在标准/交互式报表的sql中添加的标记?@bPratik我在哪里添加此背景颜色:BG_颜色,因为我已经将其添加到列格式属性中。@Tom这是一个标准报表。我只是在没有标题模板的区域中使用sql查询显示计数。我需要该地区的背景颜色的基础上计数。