2011-11-09 90 views
2

嗯,我一直在开发一个JSF接口,并且使用primefaces设法创建了两个数据表,这些数据表从SAP/oracle ondemand crm系统中提取数据。但是一切都不那么顺利,我在一些区域的数据表中遇到了麻烦。Primefaces Datatable JSF2.0

  1. 我似乎无法分配与唯一的ID的命令按钮,如果我在数据表中的列内将它们添加(不能使用rowindexvar,因为它不能被用于处理)。基本上我需要设置两个按钮,插入&更新为不可见,直到在第二个数据表中选中一行,然后启用上述数据表中相关表的按钮并变为可点击。

  2. 我似乎无法得到rowselect的高亮颜色来改变它的颜色,它保持了一个奇怪的黄色缩进颜色,它不足以让用户知道他们已经选择了行。

  3. 当我放大数据表时,列溢出数据表(由于列的数量),我真的无法找到工作。

所有这些问题IVE广泛搜查无济于事因此Im希望这里some1甚至“Cagatay Civici”可以尝试帮助我在某些方面,我真的很感激帮助。

我的继承人XHTML

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:p="http://primefaces.prime.com.tr/ui" 
     xmlns:f="http://java.sun.com/jsf/core"> 
    <h:head> 
     <p:themeSwitcher initialText="Change Skin" buttonPreText="Skin: "/> 
     <title>Elpone Facelet</title> 
     <style type="text/css"> 
      td{ font-family:sans-serif; font-size: 10px;} 
      h{ font-family:sans-serif; font-size: 10px; font-weight: bold;} 
      body{background-color: grey;} 
      #bannerImage{width:100%; height:160px;} 
      .ui-datatable .ui-state-highlight { 
      background-color:#83AAB4;} 
      #buttonPanel{visibility:hidden;} 



     </style> 
    </h:head> 
    <h:body > 
     <div id="bannerContainer"> 
     <h:graphicImage id="bannerImage" alt="ban_eloma" url="/resources/Eloma_banner1.jpg"/> 
     </div> 

     <h:form> 
       <p:panel header="SAP Accounts" id="sapPanel">  

      <p:growl id="growl" showDetail="true" />    

      <p:dataTable style="width:101%;" 
       scrollable="false"  
       rowIndexVar="rowID" 
       id="debTable" 
       var="debitors" 
       value="#{tableBean.deblst}" 
       paginator="true" 
       rows="8" 
       selection="#{tableBean.selectedRec}" 
       rowSelectListener="#{tableBean.onRowSelect}" 
       update="debAccTable" 
       selectionMode="single" 
       paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
       rowsPerPageTemplate="8,15,20" 

       > 



       <p:column> 

        <f:facet name="header"> 
         <h:outputText value="Kunnr" /> 
        </f:facet> 
        <h:outputText value="#{debitors.debitorPK.kunnr}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="SAP gelöscht"/> 
        </f:facet> 
        <h:outputText value="#{debitors.loevm}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="Name1"/> 
        </f:facet> 
        <h:outputText value="#{debitors.name1}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="Name2"/> 
        </f:facet> 
        <h:outputText value="#{debitors.name2}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="Name3"/> 
        </f:facet> 
        <h:outputText value="#{debitors.name3}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebitorTitle_ort01}"/> 
        </f:facet> 
        <h:outputText value="#{debitors.ort01}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebitorTitle_pstlz}"/> 
        </f:facet> 
        <h:outputText value="#{debitors.pstlz}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebitorTitle_smtpaddr}"/> 
        </f:facet> 
        <h:outputText value="#{debitors.smtpaddr}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebitorTitle_stras}"/> 
        </f:facet> 
        <h:outputText value="#{debitors.stras}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebitorTitle_land1}"/> 
        </f:facet> 
        <h:outputText value="#{debitors.land1.country}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebitorTitle_telf1}"/> 
        </f:facet> 
        <h:outputText value="#{debitors.telf1}"/> 
       </p:column> 

       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebitorTitle_telfx}"/> 
        </f:facet> 
        <h:outputText value="#{debitors.telfx}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="Hauptzielgruppe"/> 
        </f:facet> 
        <h:outputText value="#{debitors.brsch.maintarget}"/> 
       </p:column> 
       <p:column > 
        <f:facet name="header"> 
         <h:outputText value="Unterzielgruppe"/> 
        </f:facet> 
        <h:outputText value="#{debitors.brsch.subtarget}"/> 
       </p:column> 




       <p:column> 
        <h:panelGrid columns="2" styleClass="actions" id="buttonPanel"> 

         <p:commandButton id="insertbutton" update=":form:display" value="Insert" title="Insert"> 
       </p:commandButton> 
         <p:commandButton disabled="#{tableBean.isButtonDisabled}" id="var22" update=":form:display" value="Update" title="Update"> 
       </p:commandButton> 
        </h:panelGrid> 
       </p:column> 

      </p:dataTable> 
</p:panel> 

      <div style="background-color:#D01C2E; width:100%; height:12px;"></div> 

      <p:panel header="Related Accounts">  
       <p:dataTable id="debAccTable"     
       var="debAcc" 
       rows="5" 
       paginator="true" 
       update="debTable" 
       value="#{tableBean.debAcclst}" 
       selection="#{tableBean.selectedAccRec}" 
       rowSelectListener="#{tableBean.onDecAccSelect}" 
       selectionMode="single"   
       paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
       rowsPerPageTemplate="3,5,10" 
       >     
     <p:column selectionMode="single"> 


      </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_id_row_id}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.id.row_id}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_accountname}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.accountname}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_streetaddress}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.streetaddress}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_odkundennummer}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.odkundennummer}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_plz}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.plz}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_city}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.city}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_name2}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.name2}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_name3}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.name3}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_hauptzielgruppe}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.hauptzielgruppe}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_unterzielgruppe}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.unterzielgruppe}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_email}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.email}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_tel}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.tel}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_saploeschen}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.saploeschen}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_fax}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.fax}"/> 
       </p:column> 
       <p:column> 
        <f:facet name="header"> 
         <h:outputText value="#{bundle.ListDebAccTitle_deb}"/> 
        </f:facet> 
        <h:outputText value="#{debAcc.deb}"/> 
       </p:column> 

      </p:dataTable> 
      </p:panel> 
     </h:form> 
    </h:body> 
</html> 

我不认为你将需要Tablebean作为背后的逻辑一切正常它只是显示问题和XHTML属性。但如果需要,我会提供。另外请注意,在XHTML即时通讯中,我们正在处理很多事情,所以可能会有一些冗余的东西。

回答

0

您使用的是哪个版本的primefaces?

1)我现在在PrimeFaces 3.0此刻,我很确定每个表格单元格都呈现唯一的ID。因此表格单元格中的元素也应该获得唯一的ID。我想你的问题是你需要知道按钮的ID以更新其状态。我想最简单的方法是更新整个数据表组件,而不是更新按钮。您可能会考虑查看已添加到数据表的输入和输出构面:http://www.primefaces.org/showcase/ui/datatableEditing.jsf

2)似乎是CSS的问题。你有没有尝试将自己的风格应用到CSS类ui-state-highlight?你可以使用像Firebug这样的工具来找出为什么你的风格不适用。也许你需要制定一些规则!important

3)我不确定'放大桌子'是什么意思。但我猜想将自己的CSS样式应用到表格可能是解决问题的方法。

祝你好运.-)