首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Oracle Apex中动态设置列宽

如何在Oracle Apex中动态设置列宽
EN

Stack Overflow用户
提问于 2013-01-04 06:24:35
回答 1查看 6.7K关注 0票数 1

我有两个从PL/SQL返回函数动态创建的经典报告。每个报表的数据通常包含相同的数据,但列名通常不同。

我希望它们垂直对齐,但列名的不同会导致列宽不同。我的目标是为每列将每个列的宽度设置为第一个或第二个报告中较大的列。我想我只需要找出每列长度的较大值,并将其乘以设定的像素量。

但是,对于动态生成的报告,我首先应该如何动态设置列宽呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-04 21:21:29

你可以通过内置到APEX中的jQuery库,通过一些Javascript来做到这一点。

(警告:我的Javascript不是世界上最优雅的!)

这对我很有效:

1)在页面的“函数和全局变量声明”属性中创建此函数:

代码语言:javascript
复制
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)在页面的“当页面加载时执行”属性中,为每一列调用函数:

代码语言:javascript
复制
setColWidths('COL01');
setColWidths('COL02');
setColWidths('COL03');

您也许可以增强这个解决方案,这样就不需要为每一列显式地调用该函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14148226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档