Grails_filterpane插件使用
filterpane 插件可以根據Domain Class 生成查詢界面并從數據庫中進行查詢,使用方面比較簡單。
通過命令 grails install-plugins filterpane 進行安裝,
在list.gsp面頁中頭面加入
<filterpane:filterPaneIncludes />
引入資源
<filterpane:currentCriteria domainBean="AddressList" removeImgDir="images" removeImgFile="bullet_delete.png" />
顯示當前查詢條件,domainBean 需要加入包名.
<g:paginate total="${addressListInstanceTotal}" params="${filterParams?filterParams:params}"/>
修改grails 生成的頁面,支持查詢結果集進行翻頁.在沒有使用filterpane時也需要將參數傳遞到后臺,默認不支持查詢結果集翻頁。
<g:paginate total="${addressListInstanceTotal}" params="${params}"/> <filterpane:filterButton textKey="fp.tag.filterButton.text" appliedTextKey="fp.tag.filterButton.appliedText" text="Filter Me" appliedText="Change Filter" />
顯示查詢按鈕,textKey與appliedTextKey是在資源文件messages-filterpane.properties中指定的,完全支持國際化。
<filterpane:filterPane domainBean="cn.xiangyunsoft.jltv.AddressList" additionalProperties="identifier" titleKey="fp.tag.filterPane.titleText" /> <filterpane:filterPane domainBean="AddressList" additionalProperties="identifier" titleKey="fp.tag.filterPane.titleText" />
生成查詢條件界面.
<filterpane:filterPane domainBean="AddressList" additionalProperties="identifier" filterPropertyValues="{[createDate:[precision:'day',dateFormat:'yyyy-MM-dd'],expDate:[precision:'day']]}" filterProperties="number,networkType,networkName,channel,createDate,expDate,psnName,psnTel,psnMtel,state" titleKey="fp.tag.filterPane.titleText" />
filterProperties 指定查詢界面顯示的條件,filterPropertyValues字段值的格式與默認值。
在Controller中加入下面代碼:
def filterService
def filter = {if(!params.max) params.max = 10 render( view:'list', model:[ addressListInstanceList: filterService.filter( params, AddressList ), addressListInstanceTotal: filterService.count( params, AddressList ), filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params), params:params ] )def filter = { if(!params.max) params.max = 10 render( view:'list', model:[ addressListInstanceList: filterService.filter( params, AddressList ), addressListInstanceTotal: filterService.count( params, AddressList ), filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params), params:params ] ) } }
posted on 2010-03-12 17:10
Libo 閱讀(370)
評論(0) 編輯 收藏