2012-03-30 5 views
-2

私は2つのドメインクラスを持っています。grailのフィルタリスト

class BillingServiceGroup 
{ 
    Integer billingServiceGroupCode 
    String billingServiceGrpDesc 
    String status // ACTIVE or INACTIVE 
} 

class ServiceGroup 
{ 
    String serviceGroupName 
    String description 
    BillingServiceGroup billingServiceGroup 
} 

私はserviceGroupページを表示します。すべてbillingServiceGroupのリストを表示しますが、私の要求はstatus == ACTIVEの行だけがリストに表示されるということです。

私は状態の値に基づいてリストをフィルタリングする必要があります。誰もこのロジックを実装するためのいくつかのコードを提供できますか?

+1

ではないでしょうか?それは物事をより簡単にするでしょう。 –

+0

ステータスをenumタイプに変更しました。列挙ステータス{ \t \t ACTIVE(真)、 \t \t INACTIVE(偽) \t \tプライベートブール値ブール \t \tパブリックステータス(ブール値ブール値){ \t \t \t this.bool = BOOL \t \t} \t} –

答えて

2

withCriteriaを使用してみてください:なぜ、あなたの `status`フィールドは` boolean`または `enum`タイプ

ServiceGroup.withCriteria { 
    billingServiceGroup { 
     eq('status', 'ACTIVE') 
    } 
} 
+0

申し訳ありませんが、ここではこのコードを使用する必要があります??ドメインクラスでは? –

+0

@AB - 私はそこにあなたを追跡していません。コントローラとビューはどのように設定されていますか?あなたはちょうど足場を使っていますか?もしそうなら、おそらくあなたの 'ServiceGroup'ドメインに対して' generate-all'を生成し、生成されたコントローラの 'list'アクションを修正する必要があります。 –

関連する問題