2011-11-09 14 views
2

JSFインタフェースを開発していて、プライムフェイスを使用すると、SAP/oracle ondemand crmシステムからデータを取り出す2つのデータテーブルを作成できました。しかし、すべてがとても滑らかではありません、私はいくつかのエリアでデータテーブルに問題があります。Primefaces Datatable JSF2.0

  1. 私は(それが処理に使用することができないようカント使用rowindexvar)私はDataTableの列の中にそれらを追加する場合のIDのユニークでコマンドボタンを割り当てるように見えることはできません。基本的には、2つのボタンinsert &の更新は、2番目のデータテーブルで行が選択されるまで不可視として設定する必要があります。このとき、上記のデータテーブル内の関連するテーブルのボタンが有効になり、クリック可能になります。

  2. rowselectのハイライトカラーが色を変えるように見えない場合は、奇妙な黄色のインデントカラーを維持しています。これは、ユーザーが行を選択したことを実際にユーザに伝えるほどのものではありません。

  3. データテーブルを拡大すると、(列数のために)データテーブルから列がオーバーフローし、実際には回避できません。イムはsome1ここに多分「Cagatay Civici」は、いくつかの点で私を助けて試すことができることを期待して、IVEが無駄に広く探索し、これらの問題の

すべて、私は本当に助けをいただければ幸いです。

相続人は私の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> 

私はすべてがちょうど問題やXHTMLのプロパティを表示して正常に動作している背後にあなたはロジックとしてTablebeanが必要になると思ういけません。しかし、必要ならば私は提供します。また、XHTMLのimは現在、たくさんのことを混乱させているので、そこにいくつかの冗長なものがあるかもしれないことに注意してください。

答えて

0

使用しているprimefacesのバージョンはどれですか?

1)私はにあります。PrimeFaces 3.0現時点では、各テーブルセルが一意のIDをレンダリングしていると確信しています。したがって、表のセル内の要素も一意のIDを取得する必要があります。あなたの問題は、その状態を更新するためにボタンのIDを知る必要があることです。私は最も簡単な方法は、ボタンを更新する代わりにdatatableコンポーネント全体を更新することだと思います。データセットに追加された入力ファセットと出力ファセットを見てみるとよいでしょう。http://www.primefaces.org/showcase/ui/datatableEditing.jsf

2)私にはCSSの問題があるようです。独自のスタイルをCSSクラスui-state-highlightに適用しようとしましたか? Firebugのようなツールを使用して、スタイルが適用されない理由を調べることができます。おそらくあなたはいくつかのルールを作る必要があります!important

3)「テーブルをズームする」という意味がわかりません。しかし、あなた自身のCSSスタイルをテーブルに適用することは、あなたの問題を回避する方法かもしれないと思います。

幸運です.-)

関連する問題