如何在ZK中的特定位置添加多个<row>组件

时间:2018-03-13 19:24:38

标签: zk zul zk-grid

我正在使用ZK应用程序,我需要根据用户输入添加<row>的组件。 zul是这样的:

<grid id="mygrid">
    <rows id="rows">
        <row>
            <cell>
                <label value="Rows to add 1:"/>
            </cell>
            <cell>
                <textbox id="txt_addRows1"/>
            </cell>
        </row>

        <!-- Here I need to add rows specified in txt_addRows1 -->

        <row>
            <cell>
                <label value="Rows to add 2:"/>
            </cell>
            <cell>
                <textbox id="txt_addRows2"/>
            </cell>
        </row>

        <!-- Here I need to add rows specified in txt_addRows2 -->

        <row align="right">
            <cell colspan="2">
                <button id="btn_generate" label="Generate"/>
            </cell>
        </row>
    </rows>
</grid>

在作曲家中我可以做类似的事情:

Row someRow = new Row();
row.setParent(rows);

我的问题是:如何指定要在指定位置呈现新行(在编辑器中以编程方式生成)而不是其他行?

欢迎任何建议/指南。提前感谢您的回答。

1 个答案:

答案 0 :(得分:1)

有两种方法可以在DOM中插入内容 第一种方法是设置父级,第二种方式是添加子级。

如果您查看AbstractComponent api。您看到他们也谈到appendChildinsertBefore(Component newChild, Component refChild)

所以代码看起来像:

rows.insertBefore(newRow,rowWhatComesAfterYourRow);