Если вы посмотрите на этот пример: https://www.zkoss.org/zkdemo/grid/grouping
вы заметите следующую настройку:
<rows>
<group label="Dell" />
<row>
<label value="Dell E4500 2.2GHz" style="padding-left:15px"/>
<label value="Intel Core 2 Duo" />
<label value="4GB RAM" />
<label value="$261.00" style="color:green" />
<label value="500GB" />
</row>
<group label="Compaq" />
<row>
<label value="Compaq SR5113WM" style="padding-left:15px" />
<label value="Intel Core Duo" />
<label value="2GB RAM" />
<label value="$279.00" style="color:green" />
<label value="160GB" />
</row>
Теперь тег шаблона с MVVM выглядит так:
<template name="model" >
<row>
<label value="@bind(forEachStatus.index)" />
<label value="@bind(each.name)" />
</row>
</template>
Итак, <rows>
заменяется на <template>
.
Установка его в <template>
приводит к более чем 1 группировке.
Установив его за пределами <template>
, он отображается выше <rows>
.
Таким образом, единственное решение немного похоже на это:
<template name="model">
<zk if="${forEachStatus.index == 0}">
<group label="refund" />
</zk>
<row if ="${forEachStatus.index != 0}">
<cell>
<label value="${forEachStatus.index}" />
</cell>
<cell>
<label value="${each}" />
</cell>
</row>
</template>
И не забывайте, что в первой строке вам нужно нулевое значение, потому что ваша первая строка не будет отображена.
Причина в том, что если вы визуализируете оба в шаблоне, у вас будет ошибка, говорящая о том, что вы не можете добавить 2 строки в шаблон.
Надеюсь, это поможет.