Grails:支持数据绑定的标签?

时间:2013-09-30 09:39:51

标签: grails

是否有任何标签支持除select之外的数据绑定? 。我将它用于一对多关系

如果您有大量数据并且滚动时间更长

,这似乎不切实际

如果它只是一个复选框列表,那将是一个很好的分页

1 个答案:

答案 0 :(得分:0)

g.select只是Grails的默认值,但您可以自定义视图并使用任何元素,因为信息就在那里。例如:

class Parent {
  String name
  static hasMany = [childrens: Child]
}

class Child {
  String name
}

class ParentController {
  def create() {
    Parent parentInstance = new Parent()
    List<Children> childrens = Children.list()
    [parentInstance : parentInstance, childrens: childrens]
  }

  def save() {
    def childrens = params.list('childrens')
    println childrens //will output all checkbox marked...
  }

}

form.gsp

<ul>
<g:each in="${childrens}" var="child">
  <li><g:checkBox name="childrens" value="${child in parentInstance.childrens}" /></li>
</g:each>
</ul>

这里有一些关键点:

  • 如果您的hasMany方可以拥有大量记录,您可以重新考虑这种方法;
  • 您的所有复选框必须具有相同的名称才能被视为列表;
  • 更新Parent时,您需要在添加新关系之前删除关系;

相关主题:Grails - Simple hasMany Problem - Using CheckBoxes rather than HTML Select in create.gsp