2013-03-21 1 views
0

Мне явно не хватает чего-то очевидного здесь, но я не могу сказать, что жизнь у меня получается, я настроил представление для отображения пользовательского SQL-запроса, но на экране ничего не отображается, вот что у меня естьГрааля не отображает результаты SQL в таблице, что мне не хватает?

контроллер

def queueBreakdown(){ 
    String SQLQuery = "select state, count(test_exec_queue_id) as 'myCount' from dbo.test_exec_queue group by state" 
    def dataSource 
    def list = { 
     def db = new Sql(dataSource) 
     def results = db.rows(SQLQuery) 
     [results:results] 
    } 
} 

Если я запускаю это вручную я получаю набор результатов обратно, как так

state myCount 
1  1 
test 2 
test2 1 

queueBreakdown.gsp имеет следующий ...

<body> 
    <a href="#list-testExecQueue" 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> 
     </ul> 
    </div> 

    <div id="queueBreakdown-testExecQueue" class="content scaffold-list" role="main"> 
     <h1><g:message code="Execution Queue Breakdown" /></h1> 
     <table> 
      <thead> 
       <tr> 

        <g:sortableColumn property="Run State" title="Run State"/> 
        <g:sortableColumn property="Count" title="Count" /> 
       </tr> 
      </thead> 

      <tbody> 
       <g:each in="${results}" status="i" var="it"> 
        <tr class="${(i % 2) == 0 ? 'even' : 'odd'}"> 
         <td>${it.state}</td> 
         <td>${it.myCount}</td> 
        </tr> 
       </g:each> 
      </tbody> 
     </table> 
    </div> 
</body> 

Но когда я просматриваю страницу, я ничего не получаю ... Стол был построен, но в нем нет линий, что я здесь толстый?

Приветствия

ответ

0

ваш код контроллера действительно сбивает с толку, что действие здесь? queueBreakdown() или list()? Кажется, что вы смешали 2 действия вместе, и queueBreakdown() не возвращает никакой модели ...

class SomeController { 

    def dataSource 

    def queueBreakdown() { 
     String SQLQuery = "select state, count(test_exec_queue_id) as 'myCount' from   dbo.test_exec_queue group by state" 
     def db = new Sql(dataSource) 
     def results = db.rows(SQLQuery) 
     [results:results] 
    } 
} 
+0

Aha! Вы подчеркнули проблему, мой контроллер был просто написан ужасно плохо, и теперь совершенно очевидно, что я смотрю на это и на вашу исправленную версию. Это сводится к копированию и вставке с моей стороны из нескольких примеров! Теперь я изменил свой контроллер, чтобы соответствовать тому, что вы опубликовали, и теперь он отлично работает! Ура! Я бы проголосовал за вас, если бы мог! – MorkPork

 Смежные вопросы

  • Нет связанных вопросов^_^