我有两个从PL/SQL返回函数动态创建的经典报告。每个报表的数据通常包含相同的数据,但列名通常不同。
我希望它们垂直对齐,但列名的不同会导致列宽不同。我的目标是为每列将每个列的宽度设置为第一个或第二个报告中较大的列。我想我只需要找出每列长度的较大值,并将其乘以设定的像素量。
但是,对于动态生成的报告,我首先应该如何动态设置列宽呢?
发布于 2013-01-04 21:21:29
你可以通过内置到APEX中的jQuery库,通过一些Javascript来做到这一点。
(警告:我的Javascript不是世界上最优雅的!)
这对我很有效:
1)在页面的“函数和全局变量声明”属性中创建此函数:
function setColWidths(colId) {
var maxWidth = 0;
$('th#'+colId).each (function (index) {
w = $(this).width();
maxWidth = Math.max(maxWidth,w);
});
$('th#'+colId).each (function (index) {
$(this).width(maxWidth);
});
}2)在页面的“当页面加载时执行”属性中,为每一列调用函数:
setColWidths('COL01');
setColWidths('COL02');
setColWidths('COL03');您也许可以增强这个解决方案,这样就不需要为每一列显式地调用该函数。
https://stackoverflow.com/questions/14148226
复制相似问题