我在zul文件中显示了以下结构,并从Java控制器获得了诊所对象的列表。
我在zul中尝试了几个zk组件,但没有运气。我应该在forEach中使用什么组件
这里是需要显示的结构:
For each clinic
{
For each clinic.location
{
For each (clinic.location.provider)
{
Output (provider display name)
}
Output (clinic name)
Output (clinic.location address)
Output (clinic.locatoin telephone number)
Output (clinic.web address)
}
}发布于 2013-02-24 08:02:48
正如Darius给出的答案中所解释的,下面是如何将<Grid>与<rows>组件一起使用的示例
<?page title="Result"?>
<zk>
<window apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('fully.qualified.viewmodel.classname')"
title="Result Window" border="normal" >
<div>
<grid>
<rows>
<row>
<listbox model="@bind(vm.listname)">
<listhead>
<listheader label="Item Name"
style="text-align:center;">
</listheader>
<listheader label="Attribute Value"
style="text-align:center;">
</listheader>
<listheader label="Qualifier Value"
style="text-align:center;">
</listheader>
</listhead>
<template name="model" var="item">
<listitem value="${item }">
<listcell label="@load(item.name)"
style="text-align:center;">
</listcell>
<listcell
style="text-align:center;">
<textbox
value="@bind(item.attributeValue)"
style="text-align:center;" />
</listcell>
<listcell
label="@load(item.qualifierValue)"
style="text-align:center;">
</listcell>
</listitem>
</template>
</listbox>
</row>
</rows>
</grid>
</div>
</window>
</zk>发布于 2013-02-24 02:34:56
您可以使用Listbox或Grid。
在Listitem或Row中添加其他组件:最简单的是Label对象
我注意到您有一个由提供者组成的内部表。对于这些,您可能需要一个嵌套的Grid或Listbox。您还可以使用ZK的详细组件。它将允许您展开以查看内表。
发布于 2015-06-12 17:40:57
要实现这一点,有多种方法。
最后一句话-只是不
将网格嵌套到网格是一个非常糟糕的设计,因为它很难呈现出来,而且它只适用于小数据。最好的方法,在我看来,是创建两个单独的网格,并排,并显示在第二个网格上的数据,在第一个网格中点击一行后。通过这种方式,您可以实现非常快的gui与性能无关,任何时候都有大量的数据。另一种方法是在网格行上创建一个弹出窗口,惠奇会显示额外的数据,这对你的性能也有很大的影响。
https://stackoverflow.com/questions/15047560
复制相似问题