执行在foreach zk中创建组件

时间:2013-10-10 13:00:24

标签: java data-binding zk zk-grid

我需要在ZK中为每个

执行一个excecution.createComponent

然后我需要在网格的列中创建组件

我的代码是:

<zk>
    <window title="MVVM window Passing arguments and retur values. This is one.zul"
        border="normal" apply="org.zkoss.bind.BindComposer"
        viewModel="@id('e') @init('Include1Composer')">
        <grid id="grid1">
            <columns>
                <column forEach="${e.list}" label="${each}" >
           <window id="${each}">
                    <zscript>  
                         Map arg = new HashMap();
                         arg.put("columnName", ${each});
                         Executions.createComponents("index_1.zul",${each} , arg);
                    </zscript>
                    <textbox value="${each}"/>
           </window>
                </column>
            </columns>

        </grid>
   </window>
</zk>

我在每一列中创建一个窗口,并将带有$ {each}的id传递给执行的createComponents,因此我在每一列中创建了组件,我需要传递每个值的值以保存在我的java类中,然后我需要传递$ {each}像arg一样,然后我尝试使用这段代码,但如果有人可以帮助我的话,那就不行了。

1 个答案:

答案 0 :(得分:0)

您可以使用<include>标记而不是zscript:

<column forEach="${e.list}" label="${each}" >
  <window>
    <include src="index_1.zul" columnName="${each}" />      
    <textbox value="${each}"/>
  </window>
</column>