Grails:动态过滤 Grails 表中的数据 [英] Grails: filter data in a Grails table dynamically
本文介绍了Grails:动态过滤 Grails 表中的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一张桌子,上面有一系列事件,我的班级名称是 Entry.
这是我的桌子的照片
是西班牙语,但基本内容相同,所以应该没有问题.(过滤器 HTML 代码还没有,所以它是一团糟,但它可以工作)
这是我查找条目时得到的结果.
现在我的问题是我需要将结果显示/过滤到来自 pic1 的同一个表中,所以它基本上就像应用过滤器的表更新.
如果您需要更多信息,这里是我的旧问题的链接.感谢大量!
这是我的 searchResults.gsp,其中包含应用于Ruta"一词的过滤器
所以基本上一切看起来都很漂亮,但日期过滤器不起作用.
这是控制器中不过滤日期的代码
def searchResults = {def entryCriteria = Entry.createCriteria()def 结果 = entryCriteria.list {如果(参数?.proyectoRuta){ilike("proyectoRuta","%${params.proyectoRuta}%")}}如果(参数?.天){eq(fechaCambio",params.day)}渲染(视图:'搜索结果',模型:['结果':结果])}
过滤单词但不过滤日期
proyectoRuta
将是标题,fechaCambio
将是第一列中显示的日期.我还没有尝试过滤 lastUpdated 日期.
更新:
好的,这是我的控制器:由于代码很多,我只会发布重要的定义
def search = {渲染(视图:'搜索')}定义搜索结果 = {def entryCriteria = Entry.createCriteria()def 结果 = entryCriteria.list {if(params?.fechaCambioD && params?.fechaCambioH) {之间(fechaCambio",params.fechaCambioD,params.fechaCambioH)}if(params?.lastUpdatedD && params?.lastUpdatedH) {之间(lastUpdated",params.lastUpdatedD,params.lastUpdatedH)}如果(参数?.proyectoRutaN){ilike("proyectoRuta","%${params.proyectoRutaN}%")}}渲染(视图:'searchResults',模型:['结果':结果,'proyectoRutaN':params?.proyectoRutaN,'fechaCambioD':params?.fechaCambioD,'fechaCambioH':params?.fechaCambioH,'lastUpdatedD':params?.lastUpdatedD, 'lastUpdatedH':params?.lastUpdatedH])}}
这里是 searchResults.gsp
<g:each in="${results}"><td><g:formatDate format="dd-MMMM-yyyy" date="${it.fechaCambio}"/></td><td><b>${it.proyectoRuta}</b></td><td>${it.summary}</td><td><g:formatDate format="dd-MMM-yyyy HH:mm z" date="${it.lastUpdated}"/></td><td><g:表格><g:hiddenField name="id" value="${it?.id}"/><span class="simple"><g:actionSubmit class="editar" action="edit" value="${message(code: 'default.button.editar.label', default: ' ')}"/></span><span class="simple"><g:actionSubmit class="eliminar" action="delete" value="${message(code: 'default.button.eliminar.label', default: ' ')}" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Esta seguro que desea Eliminar?')}');"/></span></g:form></td></tr></g:每个></tbody> 解决方案 尝试对结果和搜索条件使用相同的 gsp...
<身体><h1>搜索条件</h1><g:form controller="entry" action="searchResults">标题:<g:textField name="title" value="${title}"/>日期:<g:datePicker name="startTime" value="${startTime}" precision="day"/><g:submitButton name="submit" value="搜索"/></g:form><g:if test="${results}"><h1>搜索结果</h1><表格><tr><th>Title</th><th>开始日期</th></tr><g:each in="${results}"><tr><td>${it.title}</td><td>${it.startTime}</td></tr></g:每个></g:if>