2017-01-03 20 views
1

我已经搜索整个晚上找到解决方案,但我发现的少数人并不坚持使用我使用的更新版本的grails。我该如何让grails向我展示列表视图中域名的所有列/字段

我知道它被限制在6个字段之前,但现在我可以看到7个。但是我需要更多的列,而不管页面是否混乱。

我也检查了f:table标签构造的代码,并且看不到有任何限制。

我不知道该怎么做,我需要明天早上准备好这个应用程序,所以我绝望地找到了解决方案。 请帮忙..

我用GRAILS-3.2.3。 我可以采取任何域,只有它有超过7个领域的第8和以上将不会显示。

我使用grails命令:(“generate-all”domain)来创建控制器和视图。没有做任何事情,我会遇到这个问题。 因此,我不认为我需要带来任何代码显示 - 任何人尝试这个应该得到同样的问题。

下面是index.gsp的模板 - 任何人都可以解释列数的限制在哪里吗?

<!DOCTYPE html> 
<html> 
    <head> 
     <meta name="layout" content="main" /> 
     <g:set var="entityName" value="\${message(code: '${propertyName}.label', default: '${className}')}" /> 
     <title><g:message code="default.list.label" args="[entityName]" /></title> 
    </head> 
    <body> 
     <a href="#list-${propertyName}" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a> 
     <div class="nav" role="navigation"> 
      <ul> 
       <li><a class="home" href="\${createLink(uri: '/')}"><g:message code="default.home.label"/></a></li> 
       <li><g:link class="create" action="create"><g:message code="default.new.label" args="[entityName]" /></g:link></li> 
      </ul> 
     </div> 
     <div id="list-${propertyName}" class="content scaffold-list" role="main"> 
      <h1><g:message code="default.list.label" args="[entityName]" /></h1> 
      <g:if test="\${flash.message}"> 
       <div class="message" role="status">\${flash.message}</div> 
      </g:if> 
      <f:table collection="\${${propertyName}List}" /> 

      <div class="pagination"> 
       <g:paginate total="\${${propertyName}Count ?: 0}" /> 
      </div> 
     </div> 
    </body> 
</html> 

我已经做了我今晚的最后一次审判,我明天上午再次继续,因为我认为我需要硬编码一切准备工作。 这是一个很好的建议,看看这个“Anorak-Girl”报告,但f:table-tag的源头没有显示任何限制 - 那么它在哪里? 非常感谢,但还有很多事情要做....我会回来,晚安。

下面是_table.gsp或f:table-tag的代码。

<table> 
    <thead> 
     <tr> 
      <g:each in="${domainProperties}" var="p" status="i"> 
       <g:set var="propTitle">${domainClass.propertyName}.${p.name}.label</g:set> 
       <g:sortableColumn property="${p.name}" title="${message(code: propTitle, default: p.naturalName)}" /> 
      </g:each> 
     </tr> 
    </thead> 
    <tbody> 
     <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'}" /></g:link></td> 
        </g:if> 
        <g:else> 
         <td><f:display bean="${bean}" property="${p.name}" displayStyle="${displayStyle?:'table'}" /></td> 
        </g:else> 
       </g:each> 
      </tr> 
     </g:each> 
    </tbody> 
</table> 
+0

? –

+0

我们需要查看您的代码以帮助您。也许张贴表格的截图,并描述你想要的样子。听起来这可能是一个造型问题。你发现哪些解决方案不适用于你的Grails版本?你使用的是哪个版本的Grails?你的问题太广泛了。 – zero01alpha

+0

在上面添加了一些信息。 – larand

回答

1

可能是f:table的一个限制。有过环顾四周: http://blog.anorakgirl.co.uk/2016/01/what-the-f-is-ftable/

最后...如何定制F:table标签:

将一个文件/ Grails的-应用程序/视图/模板/ _fields/

称为_table.gsp

手动执行此操作:

examplehere你可以遍历第手动粗糙你自己的财产。

所以你的情况

<g:each in="\${${propertyName}List}" var="myDom"> 
    <tr><td>${myDom.id}</td><td>${myDom.name}</td><td>and so on</td></tr> 
</g:each> 
您正在使用什么版本的Grails
相关问题