2013-12-19 125 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該插件自動完成選項可用.....