2015-01-29 1 views
1

Я использую функцию sortablecolumn для Grails для динамического сортировки столбцов таблицы в gsp. У меня есть 3 таблицы, содержащие строки sql, переданные кодом контроллера.Как сортировать таблицу в gsp contaning sql rows, переданной контроллером

код Моего контроллер:

def ABC{ 
def A= AService.a() 
def B=BService.b() 
def C=CService.b() 
render(view:list,model:[A:A,B:B,C:C]) 
} 

AService, BService и CService содержит код SQL и возвращает строку.

Мой list.gsp код:

<body> 
     <div class="body"> 
      <h1>ABC</h1> 
      <g:if test="${flash.message}"> 
      <div class="message">${flash.message}</div> 
      </g:if> 
      <div class="list"> 
       <table> 
       <thead> 
        <tr> 
         <g:sortableColumn property="name" title="NAME" /> 
         <g:sortableColumn property="id" title="ID" /> 


         <th>&nbsp;</th> 
        </tr> 
       </thead> 
       <tbody> 
       <g:each in="${A}" status="i" var="thisRecord"> 
        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}"> 
         <td>${thisRecord.name}</td> 
         <td>${thisRecord.id}</td> 


        </tr> 
       </g:each> 
       </tbody> 
       </table> 
       </div> 
     </div> 
    </body> 
</html> 

и две другие таблицы. Всякий раз, когда я нажимаю на столбцы на лицевой стороне, таблицы не сортируются правильно. Пожалуйста, поправьте меня, где я ошибаюсь.

ответ

0

Сортировка обычно происходит на стороне сервера. Таким образом, параметры сортировки передаются в контроллер, а функция запроса принимает параметры сортировки для сортировки данных. Уровень представления не выполняет сортировку. Ожидается, что ваш контроллер вернет отсортированные данные. В вашем примере вам нужно будет добавить код для сортировки данных, прежде чем он будет возвращен с помощью метода рендеринга.

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