0
如何在Grails中实现一个表格单元格,它会有一个按钮并按下它将会改变同一行单元格中的数据?可以说,表只有id,赋值,接受(是,否)字段。接受的值默认为“否”,当您点击“接受”按钮时,它会变为“是”。如何在Grails中实现响应表?
我应该使用Grails UI数据表还是使用jQuery Grid?
如何在Grails中实现一个表格单元格,它会有一个按钮并按下它将会改变同一行单元格中的数据?可以说,表只有id,赋值,接受(是,否)字段。接受的值默认为“否”,当您点击“接受”按钮时,它会变为“是”。如何在Grails中实现响应表?
我应该使用Grails UI数据表还是使用jQuery Grid?
您可以使用submitToRemote
按钮并使用update
标记更新当前表格行。 E.g:在您的index.gsp
:
<table>
<g:each in="${yourDataList}" var="data">
<tr id="dataRow${data.id}">
<g:render template="tableRow" />
</tr>
</g:each>
</table>
如果您_tableRow.gsp模板是一样的东西:
<td>${data.id}</td>
<td>${data.booleanValue}</td>
<td><g:submitToRemote action="updateAction" id="${data.id}" update="dataRow${data.id}" /></td>
注update
属性值是一样的<tr>
从index.gsp
的。 你的控制器有一个动作updateAction
:
def updateAction = {
Data data = Data.get(params.id)
// your business logic
data.booleanValue = false;
data.save(flush: true);
render(template: "tableRow", model: [data: data]);
}
显然还有其他的可能性,但是这可能是一个选择。
我不确定我了解这一点。你为什么在视图中渲染模板?不应该只是在控制器操作中完成?而不是g:submitToRemote标签更新属性只是为了定义你正在改变的div? – drago
我尝试了不同的youre建议组合,但都没有工作。我已经通过管理来正确渲染视图,但按钮没有响应。 – drago
对不起,也许我已经理解你了。这段代码只是显示了如何创建一个表格,用户可以在每行上执行一些操作(例如接受任务),并根据操作改变页面上的某些内容(在这种情况下,表格行将被重新加载从服务器和gsp逻辑处理您的更改,然后:例如更改按钮文本)。 – Chris