0

select以外のデータバインディングをサポートするタグはありますか? . 1対多の関係に使用します

大量のデータがあり、スクロールが長くなる場合は実用的ではないようです

チェックボックスのリストだけで、ページネーションがあるとすれば素晴らしいことです

4

1 に答える 1

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側が多くのレコードを持つことができる場合は、このアプローチを再検討することができます。
  • リストと見なされるには、すべてのチェックボックスに同じ名前を付ける必要があります。
  • 親を更新するときは、新しい関係を追加する前に関係を削除する必要があります。

関連トピック: Grails - 単純な hasMany 問題 - create.gsp で HTML Select ではなく CheckBoxes を使用する

于 2013-09-30T16:25:33.960 に答える