我的域类中有6列。但是当scaffold设置为true时,我在控制器列表上只看到5列。我的数据库是mySql。当使用正确的列数创建表时,我的域类
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
}
}我的控制器类
class RouteDescController {
static scaffold = true
}发布于 2012-02-14 03:55:08
Jarred Olson建议的另一个补充
props.eachWithIndex { p, i ->
if (i < 6) {
...
}}
也会改变
<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>发布于 2012-02-10 10:48:35
默认的scaffolding list页面将列数限制为6(因为eachWithIndex是从零开始的),其中1列将用于ID列,因此只显示5个属性。如果您想要更改这一点,可以通过grails install-templates安装模板,它(在Grails 2.0中)会将模板放在src/templates/scaffolding/下。你需要更新的模板是list.gsp,下面是下面的代码:
...
props.eachWithIndex { p, i ->
if (i < 6) {
...
}
}你需要把那个6改成你想要的任何值。作为附注,字段通过脚手架出现的顺序可以由它们在约束( http://grails.org/doc/latest/guide/scaffolding.html)中定义的顺序控制。
https://stackoverflow.com/questions/9221799
复制相似问题