这可以使用 JavaScript/jQuery 来完成(当然,这只是可以完成的众多方法之一,但它确实有效)。
用于创建报告的 SQL 语句以及所有过滤器和搜索信息存储在 WWV_FLOW_WORKSHEET 表中
创建一个数据库包以生成该 SQL 并对所需的列进行求和并以 XML 形式返回。
从 jQuery AJAX 调用中调用该数据库包,然后解析 XML 并使用 jQuery 在工作表的顶部(如果您愿意,也可以在底部)添加一行并将结果放在那里。
JavaScript/jQuery 函数应该从相关工作表的刷新后动态操作中调用。
function htmldbIRTotals(worksheet,columnList) {
sessionId = $("#pInstance").val();
worksheetId = $(worksheet.triggeringElement).find(".a-IRR-table:last").attr("id");
baseReportId=parseInt("0"+$("#"+worksheetId+"_rpt_saved_reports").val());
u="'||pkg||'.getTotals?p_worksheet_id="+worksheetId+"&p_base_Report_Id="+baseReportId+"&p_session_id="+sessionId+"&p_columns="+columnList;
$.post(u,function(data) {
var xml = $.parseXML(data);
});
使用 sessionId、worksheetId 和 baseReportId,您可以检索您需要的所有信息
columnList 是您要总计的列的冒号分隔列表
您甚至可以变得更花哨并添加不同的聚合(即 AVG、MIN、MAX 等)
以下链接中的示例。
http://apps.htmldb.com/apps/f?p=htmldb:knowledgebase:::NO:RP:P5_ID:84315