创建条件过滤器的最佳方法是什么?

时间:2014-11-03 22:30:49

标签: grails

我有以下域类

class Something {
  User user
  BigDecimal balance
  Boolean cancelled
  String status
  Client client
  Date dateCreated
  Date lastUpdated

  static constraints { ... }

  ...
}

我需要为这个域类创建一个过滤器,ui看起来像这样

enter image description here

我不知道如何创建此过滤器,其所有条件都是可选项,因此我需要您提供有关创建条件过滤器的最佳方法的建议吗?

由于

1 个答案:

答案 0 :(得分:1)

我这样做

List<Something filter(Client client, String status, BigDecimal balance) (
  Something.withCriteria {

    if (client) {
      eq 'client', client
    }    

    if (status) {
      eq 'status', status 
    }    

    if (balance != null) {
      eq 'balance', balance 
    }    

    // other predicates go here....   
  }
}