从父窗口单击ZK截取按钮

时间:2017-01-20 13:29:45

标签: zk

我有这个zul:

<zk>
<style>
    tr.z-listitem-seld { background-image:none ; background-color :
    LIGHTSKYBLUE;}
</style>
<window self="@define(content)" id="winReportFatturePassive" apply="controller.ReportFatturePassive">
    <div align="center">
        <panel sclass="grid_report_log">
            <panelchildren>
                ..........
                ..........
                ..........
                ..........                                      
                <!-- Dettagli POD -->
                <window id="winDettagliPod" visible="false">    
                    <separator spacing="30px" />    
                    <grid oddRowSclass="none" >
                        <columns>
                            <column align="center" hflex="1" />
                            <column align="center" hflex="1" />
                            <column align="center" hflex="1" />
                            <column align="center" hflex="1" />
                            <column align="center" hflex="1" />
                            <column align="center" hflex="1" />
                            <column align="center" hflex="1" />
                        </columns>
                        <rows>
                            <row valign="top" style="background:#FFFFFF;">
                                <label value="${labels.app.Pod}" />                                             
                            </row>
                            <row>
                                <textbox id="txtPodDettagliPod" width="120px" />    
                                <button id="btnFilterTechDettagliPod" label="${labels.app.filter}" />                                                                                       
                            </row>
                        </rows>
                    </grid>
                    ..........
                    ..........      
                    ..........
                    ..........                          
                </window>                               
            </panelchildren>
        </panel>
    </div>
</window>

如何在控制器ReportFatturePassive的子窗口winDettagliPod中点击按钮btnFilterTechDettagliPod?

My Controller Java是:

public class ReportFatturePassive extends SelectorComposer<Component> {

可能使用simil代码:

@Listen(Events.ON_CLICK + " = #btnFilterTechDettagliPod")

public void FilterTechDettagliPod()抛出异常{ }

由于

1 个答案:

答案 0 :(得分:0)

对于这种用途,我认为你应该尝试使用事件队列。 https://www.zkoss.org/wiki/ZK_Developer's_Reference/Event_Handling/Event_Queues#Subscribe_to_an_Event_Queue

这篇第一篇文章是在MVC中工作的。

在第二个中,您将找到MVVM的示例。 这是一个购物车的例子。我认为这很接近你的需要。将文章添加到购物车时,必须强制刷新其他窗口。 http://books.zkoss.org/zk-mvvm-book/8.0/advanced/communication_between_viewmodel_and_composer.html