MyRcp技术论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用新浪微博连接

一步搞定

搜索
查看: 146|回复: 0

[教程/资源] ADF 使用js设置放大镜(inputListOfValues)弹出的dialog的宽度 [复制链接]

Rank: 9Rank: 9Rank: 9

  • 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代码,并告知我解决方法,谢谢

    1.     <af:resource type="javascript">
    2.         setInterval('setTableWidth_ctcourseSearchDetails()', 300);
    3.         var varWidth_ctcourseSearchDetails = '670px';

    4.         function setTableWidth_ctcourseSearchDetails() {
    5.           try {
    6.             //dialog width
    7.             var obj_dialog = document.getElementById("pt1:courseCode2Id::lovDialogId");
    8.             if(obj_dialog != null) {
    9.               obj_dialog.style.width = '730px';
    10.               
    11.               //table_head width
    12.               var obj_table_head = document.getElementById("pt1:courseCode2Id_afrLovInternalTableId::ch::d2::t2");
    13.               if(obj_table_head != null) {
    14.                 obj_table_head.style.width = varWidth_ctcourseSearchDetails;
    15.                
    16.                 document.getElementById("pt1:courseCode2Id_afrLovInternalTableId::ch").style.width = '680px';
    17.                
    18.                 //table_content width
    19.                 var obj_table_content = document.getElementById("pt1:courseCode2Id_afrLovInternalTableId::db");
    20.                 if(obj_table_content != null) {
    21.                   var i=1;
    22.                   while(true) {
    23.                     obj_table_content.getElementsByTagName("table")[i].style.width = varWidth_ctcourseSearchDetails;
    24.                     
    25.                     i++;
    26.                     if(i == obj_table_content.length) {
    27.                       break;
    28.                     }
    29.                   }
    30.                 }
    31.               }
    32.             }
    33.           } catch(e) {  }
    34.         }
    35.       </af:resource>
    复制代码



    除了使用js去设置外,应该还能使用adf的skin去修改,希望有懂的人指教。
    附件: 你需要登录才可以下载或查看附件。没有帐号?注册
    傻子不多,坏人哪里够用
    您需要登录后才可以回帖 登录 | 注册

    无觅相关文章插件

    手机版|MyRcp

    GMT+8, 2012-2-23 14:08 , Processed in 0.186056 second(s), 20 queries .

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    回顶部