2013-12-19 97 views
0

我在我的域类中有三个字段,即client_id,client_name,client_address。我想在list.gsp页面的client_name基础上进行搜索。我尝试过,但没有为我工作。我对grails很陌生。做正确的方法或任何可能的解决方案吗?搜索不在该领域工作

的list.gsp页面: -

<g:if test="${flash.message}"> 
      <div class="message" role="status">${flash.message}</div> 
     </g:if> 
     <fieldset class="form"> 
      <g:form action="list" method="GET"> 
       <div class="fieldcontain"> 
        <label for="query">Search for Client Name:</label> 
        <g:textField name="query" value="${params.query}"/> 
       </div> 
      </g:form> 
     </fieldset> 

ClientController.groovy: -

def list(Integer max) { 
    params.max = Math.min(max ?: 10, 100) 


    def taskList = Client.createCriteria().list (params) { 
     if (params.query) { 
      ilike("client_name", "%${params.query}%") 
      ilike("client_id", "%${params.query}%") 
     } 
    } 

    [clientInstanceList: taskList, clientInstanceTotal: Client.count()] 
} 
+0

小小鸟尝试删除'值= “$ {} params.query”' – Deepak

回答

2

白衣代码Grails将产生类似以下

其中,较低的(this_.client_name)查询像? 更低(this_.client_id)喜欢? )

我想你需要把它改成传导。

def taskList = Client.createCriteria().list (params) { 
     if (params.query) { 
      or{ 
       ilike("client_name", "%${params.query}%") 
       ilike("client_id", "%${params.query}%") 
       } 
     } 
    } 
+0

谢谢...它工作:) –

0

尝试使用Grails的富UI Plugin.In该插件自动完成选项可用.....