JSF动态生成固定表头和行标的DataTable

这个例子在jsf1.1下通过。JSF动态生成DataTable, 希望可以供大家学习和参考。

创新互联建站专业为企业提供浑南网站建设、浑南做网站、浑南网站设计、浑南网站制作等企业网站建设、网页设计与制作、浑南企业网站模板建站服务,十载浑南做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

自己在写JSF动态生成DataTable的时候也查阅了很多相关文章, 以及实现固定表头等等。

在解决固定表头问题上我是用的两张表(加行标是3张表)实现的, 因为我发现如果用JSF1.1的化实现固定表头几乎不可能(如果有人有好的想法, 比如用JS比较在行的朋友请告诉我解决方法, 谢谢)

实现给每个Header加上一个CommandLink的时候我遇到了很大的问题, 就是无论如何通过JSF动态生成的这些CommandLink都没有办法触发事件(并不报错), 这个问题足足折磨了我3天。。。

***终于发现问题的所在, 是因为我在生成CommandLink的时候没有给每个CommandLink  SetID。。。 就加上这句话,问题立马解决。

我原来的代码是链接数据库的, 但是这样的化大家也没有办法参考, 所以我对代码少加修改, 就算是个小例子吧, 可重用。

希望大家对我的代码提出JSF动态生成固定表头和行标的DataTable的意见,一起进步,谢谢。

  1. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
  2. <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 
  3.  language="JavaScript"> 
  4.   var tdW;  
  5.   //Scroll  
  6.   function f_scroll(Col_T,Row_T,DivNm){  
  7.     if(Col_T!=''){  
  8.       document.getElementById(Col_T).scrollLeft = document.getElementById(DivNm).scrollLeft;  
  9.     }  
  10.     if(Row_T!=''){  
  11.       document.getElementById(Row_T).scrollTop = document.getElementById(DivNm).scrollTop;  
  12.     }  
  13.   }  
  14. Script> 
  15.  
  16.   
  17.    
  18.    </strong>TABLE<strong> title></strong>  </li> <li>  <strong><link</strong> rel="stylesheet" type="text/css" href="styles.css"<strong>></strong>  </li> <li> <strong> head></strong>  </li> <li><strong><body></strong>  </li> <li> <strong><h:form></strong>  </li> <li>  <<strong>font</strong> size="2" color="black"  </li> <li>    style="position:absolute; left: 35; top: 5; width:200; height:20"<strong>></strong>  </li> <li>      <strong><h:outputText</strong> value="Please Enter:" <strong>/></strong> <strong> font></strong>  </li> <li>   <strong><h:inputText</strong> value="" size="20"  </li> <li>      style="position:absolute; left: 110; top: 5; width:150; height:20" <strong>/></strong>  </li> <li>   <strong><h:commandButton</strong> value="Search" action=""  </li> <li>      style="position:absolute; left: 270; top: 5; width:50; height:20" <strong>/></strong></li> <li><strong><table</strong> BORDER=0  </li> <li>      STYLE="POSITION: ABSOLUTE; LEFT: 0px; TOP: 30px; right: 0px; bottom: 0px;"<strong>></strong>  </li> <li>  <strong><tr></strong>  </li> <li>      <strong><td</strong> STYLE="text-align: right;"<strong>></strong>  </li> <li>             </li> <li>              </li> <li>       <strong> td></strong>  </li> <li>     <strong><td></strong>  </li> <li>            </li> <li>         <strong><Div</strong> ID="Table2"  </li> <li>         STYLE="position: relative; top: 0; border-left: 0.5pt solid black;   </li> <li>            border-right: 0.5pt solid black; height: 17.75px; width: 285px; overflow-x: hidden;"<strong>></strong>  </li> <li>          <strong><h:dataTable</strong> value="#{myBean.myHeader}" var="myHeader"  </li> <li>              binding="#{myBean.headerDataTable}" bgcolor="white" border="1"  </li> <li>              cellspacing="1" rendered="true" styleClass="orders"  </li> <li>              headerClass="ordersHeader" rowClasses="evenColumn,oddColumn"  </li> <li>              style="position:absolute; left: 0; top: 0;    </li> <li>                    width: 100; height: 10; border-collapse:collapse;"   </li> <li>           id="ree"<strong>></strong>  </li> <li>         <strong> h:dataTable></strong>  </li> <li>       <strong> Div></strong>  </li> <li>          </li> <li>    <strong> td></strong>  </li> <li><strong> tr></strong>  </li> <li><strong><tr></strong>  </li> <li>  <strong><td</strong> STYLE="vertical-align: top;"<strong>></strong>  </li> <li>        </li> <li>   <strong><Div</strong> ID="Table3"  </li> <li>      STYLE="border-bottom: 0.5pt solid black; border-top: 0.5pt solid black;    </li> <li>       width: 25.5px; height: 265px; overflow-y: hidden; position: relative; left: 0;"<strong>></strong>  </li> <li>    <strong><h:dataTable</strong> value="#{myBean.myNum}" var="myNum"  </li> <li>       binding="#{myBean.numDataTable}" bgcolor="white" border="1"  </li> <li>       cellspacing="1" rendered="true" styleClass="orders"  </li> <li>       headerClass="ordersHeader" rowClasses="evenColumn,oddColumn"  </li> <li>       style="position:absolute; left: 0; top: 0; width: 32; height: 5; border-collapse:collapse;"  </li> <li>       id="dee"<strong>></strong>  </li> <li>         <strong> h:dataTable></strong>  </li> <li>           <strong> Div></strong>  </li> <li>                </li> <li>          <strong> td></strong>  </li> <li>          <strong><td</strong> STYLE="vertical-align: top;"<strong>></strong>  </li> <li>               </li> <li>          <strong><Div</strong> ID="Table4" onScroll="f_scroll('Table2','Table3','Table4');"  </li> <li>             STYLE="height: 281px; width: 300px; overflow-y: scroll; overflow-x: scroll;"<strong>></strong>  </li> <li>          <strong><h:dataTable</strong> value="#{myBean.myList}" var="myItem"  </li> <li>              binding="#{myBean.dynamicDataTable}" bgcolor="white" border="1"  </li> <li>               cellspacing="1" rendered="true" styleClass="orders"  </li> <li>               headerClass="ordersHeader" rowClasses="evenColumn,oddColumn"  </li> <li>              style="position:absolute; left: 0; top: 0; width: 100;                                                                            height: 5; border-collapse:collapse;"<strong>></strong>  </li> <li>             <strong> h:dataTable></strong>  </li> <li>           <strong> Div></strong>  </li> <li>                </li> <li>        <strong> td></strong>  </li> <li>       <strong> tr></strong>  </li> <li>      <strong> table></strong>  </li> <li>     <strong> h:form></strong>  </li> <li>    <strong> body></strong>  </li> <li>  <strong> f:view></strong>  </li> <li><strong> html></strong></li> </ol> <br> 分享标题:JSF动态生成固定表头和行标的DataTable <br> URL地址:<a href="http://www.frzxz.com/article/dhpiosc.html">http://www.frzxz.com/article/dhpiosc.html</a> </div> </div> <div class="other"> <h3>其他资讯</h3> <ul> <li> <a href="/article/codojje.html">美国云服务器更适合哪些用户使用</a> </li><li> <a href="/article/codojsc.html">为什么你的云服务器无法连通?解决方法在这里!</a> </li><li> <a href="/article/codojji.html">自己建设网站,如何自己建设网站</a> </li><li> <a href="/article/codojej.html">云服务器ecs优势?云计算平台的物理服务器</a> </li><li> <a href="/article/codojeg.html">小议ASP.NET数据Web控件之间的异同</a> </li> </ul> </div> </div> <div class="footer"> <div class="contain"> <div class="foot-nav clearfix"> <ul class="footer-menu"> <li class="dropdown" ><a class="dropdown-toggle">服务范围<b class="caret"></b></a> <ul class="child-menu"> <li><a href="/website.html">网站建设</a></li> <li><a href="/weixin/" rel="nofollow">微信开发</a></li> <li><a href="/app/" rel="nofollow">APP开发</a></li> <li><a href="/design/" rel="nofollow">品牌设计</a></li> <li><a href="/market/" rel="nofollow">营销推广</a></li> </ul> </li> <li class="dropdown"><a href="/webcase/" class="dropdown-toggle" title="成都做网站案例">成都做网站案例<b class="caret"></b></a> <ul class="child-menu"> <li><a href="/webcase/jtssgslist.html" id="ctl00_show_85" title="集团上市公司">集团上市公司</a></li> <li><a href="/webcase/ppwzlist.html" id="ctl01_show_81" title="品牌网站">品牌网站</a></li> <li><a href="/webcase/xiangyingshilist.html" id="ctl02_show_82" title="响应式网站">响应式网站</a></li> <li><a href="/Marketingwebsite/index.html" id="ctl03_show_83" title="营销型网站">营销型网站</a></li> <li><a href="/waimaowangzhan/index.html" id="ctl04_show_84" title="外贸网站">外贸网站</a></li> </ul> </li> <li class="dropdown"><a href="/news/" class="dropdown-toggle">新闻中心 <b class="caret"></b></a> <ul class="child-menu"> <li><a href="/news/2.html" id="ctl00_show_70" title="网站建设">网站建设</a></li><li><a href="/news/3.html" id="ctl00_show_70" title="网站设计">网站设计</a></li><li><a href="/news/5.html" id="ctl00_show_70" title="网站制作">网站制作</a></li><li><a href="/news/6.html" id="ctl00_show_70" title="网站优化">网站优化</a></li> </ul> </li> <li class="dropdown"><a href="/Knowledge/" class="dropdown-toggle">知识学堂 <b class="caret"></b></a> <ul class="child-menu"> <li><a href="/websitelist/8.html" title="网站建设知识">网站建设知识</a></li><li><a href="/websitelist/9.html" title="网站设计知识">网站设计知识</a></li><li><a href="/websitelist/10.html" title="微信营销知识">微信营销知识</a></li><li><a href="/websitelist/11.html" title="营销推广知识">营销推广知识</a></li> </ul> </li> <li class="dropdown"><a href="/about/" class="dropdown-toggle" rel="nofollow">关于我们 <b class="caret"></b></a> <ul class="child-menu"> <li><a href="/about/jj/index.html" id="ctl00_show_1300" title="公司简介" rel="nofollow">公司简介</a></li> <li><a href="/about/history/index.html" id="ctl01_show_1301" title="发展历史" rel="nofollow">发展历史</a></li> <li><a href="/about/jjtd/index.html" id="ctl02_show_1302" title="精英团队" rel="nofollow">精英团队</a></li> <li><a href="/about/join/" rel="nofollow">加入我们</a></li> <li><a href="/about/contact/" rel="nofollow">联系暖宝</a></li> </ul> </li> </ul> <dl class="last-dl"> <dt> <a href="javascript:;" title="联系我们" rel="nofollow">联系暖宝</a> </dt> <dd class="conta"> <span><img src="/Public/Home/images/zg_ewm.png" width="100" /><br /> 企业微信号</span> </dd> </dl> </div> <div class="childcompan clearfix"> </div> <div class="copy"> 友情链接: <a href="http://www.scfdjwx.com/" title="scfdjwx.com" target="_blank">scfdjwx.com</a>   <a href="http://www.scpengxi.com/" title="蓬溪网站制作公司" target="_blank">蓬溪网站制作公司</a>   <a href="http://www.chdeyu.com/" title="佑馨产后护理" target="_blank">佑馨产后护理</a>   <a href="http://www.xixinjigui.com/" title="西信机柜托管公司" target="_blank">西信机柜托管公司</a>   <a href="https://www.cdcxhl.com/shop.html" title="成都商城网站开发" target="_blank">成都商城网站开发</a>   <a href="http://www.zsjierui.cn/" title="zsjierui.cn" target="_blank">zsjierui.cn</a>   <a href="http://www.ybfdjwx.com/" title="ybfdjwx.com" target="_blank">ybfdjwx.com</a>   <a href="http://www.hfjike.com/" title="成都网站维护公司" target="_blank">成都网站维护公司</a>   <a href="http://www.chqgszc.com/" title="成华区企业服务" target="_blank">成华区企业服务</a>   <a href="http://www.cdhuace.com/vi.html" title="VI设计" target="_blank">VI设计</a>    </div> <br> <a href="http://www.frzxz.com/">成都网站制作</a><strong> <a href="/">成都网站建设</a></strong>,成都定制网站建设——全心全意建网站公司 </div> </div> <script type="text/javascript" src="/Public/Home/js/meiqia.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery.easing.1.3.js"></script> <script type="text/javascript" src="/Public/Home/js/i.js"></script> <script type="text/javascript" src="/Public/Home/js/script.js"></script> <script type="text/javascript" src="/Public/Home/js/SuperSlide.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery.toTop.min.js"></script> <script type="text/javascript" src="/Public/Home/js/num-change.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery.nicescroll.min.js"></script> <script type="text/javascript"> $(".menu li").eq(7).addClass("current-menu-item"); </script> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>