2

web プロジェクトで初めて primefaces を使用し、rowStyleClass を使用してデータ テーブルの行を動的に色付け
rowStyleClass="#{alar.severity eq 'Major' ? 'major' : null}"
しましたが、rowStyleClass で複数の条件を確認する方法はありますか? Major、Minor、Normal の重大度を確認したい。複数の条件を実行するにはどうすればよいですか?

4

2 に答える 2

4

あなたの場合を考えて、一般的に、小文字の重大度を行クラスとして使用し、重大度を除外したくない場合は、次のようにしてください。

rowStyleClass="#{not empty alar.severity ? alar.severity.toLowerCase() : null}"

より拡張可能で読みやすい別の解決策はalar、パラメーターとして受け取り、スタイルクラスを返すbean-method を定義することです。

public String alarStyleClass(Alar alar) {
    if(alar.severity.equals("Major")) return "major";
    if(alar.severity.equals("Minor")) return "minor";
    if(alar.severity.equals("Normal")) return "normal";
    return null;
}

そしてのためにrowStyleClass

rowStyleClass="#{bean.alarStyleClass(alar)}"

私の頭に浮かぶ最後の可能な解決策は、すべてのチェックをrowStyleClass-attributeで直接行うことです。

rowStyleClass="#{alar.severity eq 'Major' ? 'major' : 
                 alar.severity eq 'Minor' ? 'minor' :
                 alar.severity eq 'Normal' ? 'normal' :
                 null}"
于 2013-08-22T07:48:35.377 に答える