1

データテーブルをロードするリストを返すこのメソッドがあります:

public List<Message> getMessagesRecues(Integer idUser) {
    List<Message> cs = null;
    try {

        org.hibernate.Transaction tx = session.beginTransaction();
        System.out.println("alors : "+idUser);
        Query q = session.createQuery("select c.message from Destinataire c where c.utilisateur.id='"+idUser+"'");

        if(q.list().size() > 0)
        cs = q.list();

        session.clear();
        session.flush();
    } catch (Exception e) {

        e.printStackTrace();

    }
    return cs;
}

この方法は、テーブルが次のようなデータベースでうまく機能します。データベースのテーブル

私はnetbeansと休止状態で作業しています。私の目標は、c.lu = falseを持つ行を赤い色で色付けするか、書き込みを太字にしたいのですが、データベースから情報を取得してロードする方法がわかりませんデータテーブル内(私はjsf2とprimefacesで作業しています)

ここに私のデータテーブルがあります:

 <p:dataTable id="carsTables" var="car1" value="#{histMessagesController.lm_r}" rowKey="#{car.id}"  rowStyleClass="#{(car.lu == false) ? 'red' : null}"   >

                                <f:facet name="header">
                                    Historique des messages recus
                                </f:facet>

                                <p:column style="width:48%">
                                    <f:facet name="header">
                                        Titre
                                    </f:facet>
                                    <h:outputText value="#{car1.titre}" escape="false" />
                                </p:column>

                                <p:column style="width:48%">
                                    <f:facet name="header">
                                        Date de Création
                                    </f:facet>
                                    <h:outputText value="#{car1.dateEnvoi}" />
                                </p:column>

                                <p:column >                              
                                    <p:commandButton id="selectButton" update=":myform:carDlg" oncomplete="carDialog.show()" icon="ui-icon-search" title="View">  
                                        <f:setPropertyActionListener value="#{car1}" target="#{histMessagesController.selectedMessage}" />  
                                    </p:commandButton>                              
                                </p:column>  


                            </p:dataTable>      

どうすればこれを達成できますか、どうもありがとう

4

1 に答える 1

0

rowStyleClassデータテーブルの属性の結果をブール値ではなく文字列の結果に解決するように設定してみてください。つまりrowStyleClass=#{car1.lu}、別のcssスタイルシートで `.true td:nth-​​child(1)input {background-color:green; }

.false td:nth-​​child(1)input {background-color:red; } `

https://stackoverflow.com/a/11743258/1530938を参照してください

より明確にするために

于 2012-09-04T02:31:00.567 に答える