您可以通过使用报告来解决这个问题,但它需要一些 javascript/动态操作才能真正使单元格的背景发生变化。即使您生成一些 html 代码,您的单元格也不会被填充 100%,因为它也会被包装在报告的 html 结构中(即 TD 元素)。
您可以创建一个新的报告模板(共享组件 > 模板),但即便如此,您仍然必须在 sql.xml 中生成一些 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 的影响最小。