- 阅读权限
- 200
- UID
- 7
- 积分
- 3973
- 威望
- 296
- 金币
- 2569 个
- 贡献
- 600
- 注册时间
- 2011-4-6
- 最后登录
- 2011-12-22
- 在线时间
- 533 小时
  
TA的每日心情 | 无聊 2011-11-8 10:23:42 |
|---|
签到天数: 99 天 [LV.6]常住居民II - 积分
- 3973
- 威望
- 296
- 金币
- 2569 个
- 贡献
- 600
- 帖子
- 207
- 精华
- 1
|
发表于 2011-10-13 11:17:27
|显示全部楼层
当页面使用了inputListOfValues标签时,弹出(popup)的dialog是ADF框架自动生成的,在project中并没有对应的jspx文件,所以要修改dialog上的元素比较麻烦。
先看inputListOfValues默认的效果,表格中的每列都太窄,导致内容不能默认完全显示:
再看修改后的效果图,此窗口(dialog)的宽度,以及dialog里的表格(table),每列(column)的宽度都是自己设置的:
使用的方式如下,用js去设置table,table head,column,content的width,当然,每个控件的id都是ADF自动去生成的,
所以要用firebug去找出这些ID即可,然后再使用定时器去定时执行。
注:当点击表头的sort功能,会报异常,请各位自己fix一下js代码,并告知我解决方法,谢谢
- <af:resource type="javascript">
- setInterval('setTableWidth_ctcourseSearchDetails()', 300);
- var varWidth_ctcourseSearchDetails = '670px';
- function setTableWidth_ctcourseSearchDetails() {
- try {
- //dialog width
- var obj_dialog = document.getElementById("pt1:courseCode2Id::lovDialogId");
- if(obj_dialog != null) {
- obj_dialog.style.width = '730px';
-
- //table_head width
- var obj_table_head = document.getElementById("pt1:courseCode2Id_afrLovInternalTableId::ch::d2::t2");
- if(obj_table_head != null) {
- obj_table_head.style.width = varWidth_ctcourseSearchDetails;
-
- document.getElementById("pt1:courseCode2Id_afrLovInternalTableId::ch").style.width = '680px';
-
- //table_content width
- var obj_table_content = document.getElementById("pt1:courseCode2Id_afrLovInternalTableId::db");
- if(obj_table_content != null) {
- var i=1;
- while(true) {
- obj_table_content.getElementsByTagName("table")[i].style.width = varWidth_ctcourseSearchDetails;
-
- i++;
- if(i == obj_table_content.length) {
- break;
- }
- }
- }
- }
- }
- } catch(e) { }
- }
- </af:resource>
复制代码
除了使用js去设置外,应该还能使用adf的skin去修改,希望有懂的人指教。
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

|