首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails scaffolding显示的列少于域

Grails scaffolding显示的列少于域
EN

Stack Overflow用户
提问于 2012-02-10 10:08:36
回答 2查看 2.8K关注 0票数 2

我的域类中有6列。但是当scaffold设置为true时,我在控制器列表上只看到5列。我的数据库是mySql。当使用正确的列数创建表时,我的域类

代码语言:javascript
复制
class RouteDesc {
String routenumber
String routeoperator
String routeinstructions
Date validfrom
Date validto
String weekendavailablity

static constraints = {
    routenumber blank:false, unique:true,  display:true
    routeoperator blank:false,  display:true
    routeinstructions blank:true,  display:true
    validfrom display:true
    validto display:true
    weekendavailablity display:true
}
//static belongs to = RouteId

String toString () {
    return routenumber
}
}

我的控制器类

代码语言:javascript
复制
class RouteDescController {

  static scaffold = true
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-14 03:55:08

Jarred Olson建议的另一个补充

代码语言:javascript
复制
props.eachWithIndex { p, i ->
  if (i < 6) {
   ...
  }

}

也会改变

代码语言:javascript
复制
<td><g:link action="show" id="\${${propertyName}.id}">\${fieldValue(bean: ${propertyName}, field: "${p.name}")}</g:link></td>
                    <%      } else if (i < 6) {
                                if (p.type == Boolean.class || p.type == boolean.class) { %>
                        <td><g:formatBoolean boolean="\${${propertyName}.${p.name}}" />
</td>
票数 2
EN

Stack Overflow用户

发布于 2012-02-10 10:48:35

默认的scaffolding list页面将列数限制为6(因为eachWithIndex是从零开始的),其中1列将用于ID列,因此只显示5个属性。如果您想要更改这一点,可以通过grails install-templates安装模板,它(在Grails 2.0中)会将模板放在src/templates/scaffolding/下。你需要更新的模板是list.gsp,下面是下面的代码:

代码语言:javascript
复制
...
props.eachWithIndex { p, i ->
    if (i < 6) {
       ...
    }
}

你需要把那个6改成你想要的任何值。作为附注,字段通过脚手架出现的顺序可以由它们在约束( http://grails.org/doc/latest/guide/scaffolding.html)中定义的顺序控制。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9221799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档