我在grails中使用了常規的datePicker,但我決定使用帶有日曆的textField更容易,我推薦使用Grails-UI。grails - 如何使過濾器識別datePicker使用Grails日曆插件的值?
我的問題是,現在,當我點擊應用過濾器,他們不工作。不知何故,他們沒有得到承認。
任何幫助將不勝感激。
這裏是控制器代碼:
def searchResults = {
def fromCal
if(params?.lastUpdatedD) {
fromCal = Calendar.getInstance()
fromCal.setTime(params?.lastUpdatedD)
fromCal.set(Calendar.HOUR_OF_DAY,0)
fromCal.set(Calendar.MINUTE,0)
fromCal.set(Calendar.SECOND,0)
fromCal.set(Calendar.MILLISECOND,0)
}
def toCal
if(params?.lastUpdatedH) {
toCal = Calendar.getInstance()
toCal.setTime(params?.lastUpdatedH)
toCal.set(Calendar.HOUR_OF_DAY,23)
toCal.set(Calendar.MINUTE,59)
toCal.set(Calendar.SECOND,59)
toCal.set(Calendar.MILLISECOND,999)
}
def entryCriteria = Entry.createCriteria()
def results = entryCriteria.list {
and{if(params?.fechaCambioD && params?.fechaCambioH) {
between("fechaCambio", params.fechaCambioD, params.fechaCambioH)
}
if(params?.lastUpdatedD && params?.lastUpdatedH) {
between("lastUpdated", fromCal.getTime(), toCal.getTime())
}
if(params?.proyectoRutaN) {
ilike("proyectoRuta","%${params.proyectoRutaN}%")
}
}
}
render(view:'searchResults', model:['results':results, 'proyectoRutaN':params?.proyectoRutaN, 'fechaCambioD':params?.fechaCambioD, 'fechaCambioH':params?.fechaCambioH, 'lastUpdatedD':'', 'lastUpdatedH':params?.lastUpdatedH])
這裏是在search.gsp中的一段代碼,其中GUI:DatePicker的聲明
<gui:datePicker name="fechaCambioH" value="${params?.fechaCambioH}" formatString="dd/MMM/yyyy"/>
如果我改變他們到<<gui:datePicker name="fechaCambioH" value="${params?.fechaCambioH}" precision="day" default="none" noSelection="['':'']" years="${2010..2015}"/>/>
它工作得很好,但它給了我3個下拉框的日月和年,並且想法是隻使用一個帶有日曆旁邊的textField,以幫助它看起來更好。提前
感謝
UPDATE
下面是代碼我在的list.gsp
def list = {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
[entryInstanceList: Entry.list(params), entryInstanceTotal: Entry.count()]
def today = Calendar.getInstance()
today.setTime(new Date())
today.set(Calendar.HOUR_OF_DAY, 0)
today.set(Calendar.MINUTE, 0)
today.set(Calendar.SECOND, 0)
today.set(Calendar.MILLISECOND, 0)
def results = Entry.findAllByFechaCambioGreaterThanEquals(today.getTime())
render(view:'list', model:['entryInstanceList':results])
所以我想知道如果我可以做同樣的排序被過濾的東西。因爲現在當我點擊每一列的標題時,在過濾之後,它會從列表中訂購每一個項目。如果我每次創建新條目時都會這樣做,它會從今天開始對它們進行排序(僅限於您看到的內容),但是當我應用篩選器並命令將列表中的每個項目排序時,不僅僅是它顯示的內容。
我覺得這聽起來有點混亂,我希望你能幫上忙。
在此先感謝!
我想我要使用jQuery-UI,網上有很多信息,出於某種原因,它似乎更容易。 – randomizertech 2010-07-09 14:10:39
出於某種原因,當我點擊輸入字段時,日曆沒有打開-__-「如何在控制器中聲明日曆?grails插件頁面表示放置testDatePicker = {}但這並沒有什麼區別如果我把它沒有任何反應:S – randomizertech 2010-07-09 14:33:27
你安裝了gui插件嗎?設置正文css類到yui-skin-sam? – proflux 2010-07-09 16:42:11