2013-07-26 64 views
0

我是新來的ZK框架,並試圖實現一個簡單的事情,但ZK的不同做法是令人難以置信我的腦海:更新bean屬性,單擊

我有一個模型作爲一個人名單的網格。所有網格字段都是可編輯的文本框,並填入人名和姓氏(2列)。我想要做的是:

- 實施「全部保存」按鈕,該按鈕將綁定所有更改的值以尊重人名和姓氏屬性。

只需點擊「Save All」,保存所有更改的值。但是在按鈕點擊之前我不想改變任何東西,所以在文本框上不會有@save,只是@load。

我到目前爲止所做的: - 在文本框的onChange事件上,將文本框的值保存在臨時Person對象的屬性(名稱或姓氏)上,然後將該Person添加到changedPersonsList。在SaveAll按鈕的單擊上,用changedPersonsList Persons替換我的模型的Persons ...但是然後我無法知道哪個Person沒有實現ID字段。

如果我只是可以發送SaveAll單擊標籤值和行號,一切都會很容易。

回答

1

您可以控制數據與條件關鍵字結合的時機..

<textbox value="@load(vm.text) @save(vm.text, before='saveAll')"/> 
<button onClick="@command('saveAll')"/> 

這裏我們使用before條件協調當值應保存:未當它被改變(如正常)但是當saveAll命令即將執行時。

你可以在ZK documentation瞭解更多。

+0

非常感謝您的答覆。我開始擔心沒有人在SO和ZK論壇上回答關於ZK的問題。具有挑戰性的部分是如何跟蹤網格單元格上的更改,而不直接將其保存到模型中。我已經試過每行的表單綁定,然後儘可能地使用反射。我只是試圖添加一個「全部保存」按鈕到這個例子:http://www.zkoss.org/zkdemo/grid/inline_editing,而不必在點擊按鈕之前提交任何更改。 – Reek