2017-09-27 33 views
0

我是Grails新手。我喜欢所有视图可以轻松生成的想法,但是现在当我想要自定义f:table中的出生日期列的显示样式时(因为我了解这是来自字段插件),我正面临一些问题。列的值显示为Grails 3更改单元格的显示样式:表

2017-09-27 00:00:00 ICT

_table.gsp

<g:each in="${collection}" var="bean" status="i"> 
     <tr class="${(i % 2) == 0 ? 'even' : 'odd'}"> 
      <g:each in="${domainProperties}" var="p" status="j"> 
       <g:if test="${j==0}"> 
        <td><g:link method="GET" resource="${bean}"><f:display bean="${bean}" property="${p.name}" displayStyle="${displayStyle?:'table'}" theme="${theme}"/></g:link></td> 
       </g:if> 
       <g:elseif test="${p.name instanceof java.util.Date}"> 
        <td>Some style here</td> 
       </g:elseif> 
       <g:else> 
        <td><f:display bean="${bean}" property="${p.name}" displayStyle="${displayStyle?:'table'}" theme="${theme}"/></td> 
       </g:else> 
      </g:each> 
     </tr> 
    </g:each> 

有些部分我一定要重写插件的_table.gsp?如果是的话如何?或者,还有更好的方法 ?

回答

2

有许多的方式来实现,看文档这样做是创建一个名为名为一样站立着的领域尝试如此例如定制子目录_displayWrapper.gsp文件here

的一种方式如果您的域名被称为Person &日期字段为dob你创建以下文件:

/views/person/dob/_displayWrapper.gsp 

然后在_displayWrapper.gsp你有机会获得一堆领域,如整个豆或在这种情况下,你可能只是希望值,类似下面:

<g:formatDate date="${value}" format="EEE d MMM yyy HH:mm:ss" /> 

这应该呈现在f:table指定的格式的日期字段。

+0

上述工作为我'index.gsp'包含'f:table'。但是在我的'show.gsp'中它包含'f:display'。即使我添加了'/ views/_fields/registration/dob/_displayWrapper.gsp',显示的出生日期仍为'2017-09-28 00:00:00 ICT'。任何想法? – abiieez

+1

使用与_displayWrapper.gsp相同的内容创建'/ views/person/dob/_displayWidget.gsp' –