2017-09-27 71 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' –