2012-09-20 28 views
0

我在窗口中進行了文本編輯,文本編輯填充了整個窗口。問題是,在文本編輯中填入文本後,如果立即關閉窗口,文本編輯將不會將其更改保存回到它所綁定的字段。關閉窗口小部件時不保存aviarc文本編輯小部件

當您將文本編輯分散並單擊關閉時,它將保存更改,但如果在鍵入文本編輯後直接單擊關閉,則會保存更改。

當窗口的關閉按鈕被點擊時,是否有辦法強制文本編輯存儲它的值?

下面是一個例子設置:

<button left="0" top="0" width="100" height="26" label="string"> 
    <action:when event="onClick"> 
     <action:call-widget-method method="win-test.show"/> 
    </action:when> 
</button> 
<window left="0" top="0" width="250" height="350" name="win-test" visible="n"> 
    <text-edit left="0" top="0" right="0" bottom="0" field="var.test" multi-line="y" name="te-test"/> 
</window> 
+0

這真的覺得像小部件的行爲中的錯誤。如果您嘗試在文本編輯中啓用「實時驗證」屬性會怎麼樣?這有什麼區別嗎? – Vlad

+1

是否有任何理由,您不能在窗口中使用持久關閉它的按鈕?無論如何,殺死窗戶感覺就像是它取消了你對我做的事情的內涵(儘管如果你先模糊了其他地方的文字編輯,它會幸福地持續下去)。 –

+0

@Vlad,使用實時驗證不會改變小部件的行爲。 – Jim

回答

0

使用由特里斯坦建議的解決方法。

下面是更新示例XML:

補充說,關閉該窗口內的按鈕,並禁用窗口小部件的內置關閉按鈕。

<button left="0" top="0" width="100" height="26" label="string"> 
    <action:when event="onClick"> 
     <action:call-widget-method method="win-test.show"/> 
    </action:when> 
</button> 
<window left="0" top="0" width="250" height="350" name="win-test" visible="n" closable="n"> 
    <text-edit left="0" top="0" right="0" bottom="45" field="var.test" multi-line="y" name="te-test"/> 
    <button right="10" bottom="7" width="80" height="32" label="Close" validate="n"> 
     <when event="onClick" xmlns="urn:aviarc:widget:com.aviarc.toronto.widget.core.action"> 
      <call-widget-method method="win-test.hide"/> 
     </when> 
    </button> 
</window> 
相關問題