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