Grails中sortableColumn标签改写支持ajax

Grails中sortableColumn标签改写支持ajax

前两天从同事那里得来需求, 要求一个主页面里面使用ajax加载一个表格, 并且需要表头点击以后可以排序. 刚才看了一下grails中的sortableColumn标签源码, 该标签最后其实就是生成了一个普通的link.
${link(action:action, params:linkParams) { title }}
很简单, 只需要修改link的生成方法, 使用remoteLink来生成就可以了.
def update = attrs.remove("update")
...
${remoteLink(action:action,update:update, params:linkParams) { title }}
当然update那个值需要传过来的. 页面里面就改写成:
<g:sortableColumnEric property="id" title="Id" update="userlist"/>
一切ok.
有了排序, 当然分页也要这样了, 实现应该差不多...
把所有的link(linkTagAttrs.clone())改为remoteLink(linkTagAttrs.clone())
这里也别忘了要传个update参数过来的,
修改def linkTagAttrs = [action:action]为:
def update = attrs.remove("update")
def linkTagAttrs = [action:action, update:update]

页面里就要改为:
<g:paginateEric update="userlist" total="${User.count()}" maxsteps="3"/>

你可能感兴趣的:(Grails中sortableColumn标签改写支持ajax)