我正在爲這個遊戲奮戰一段時間了。 我有我的檢測TreeItemRenderer如下:ZK TreeitemRenderer - 渲染()沒有調用
public class PermissionTreeRenderer implements TreeitemRenderer<PermissionTreeNode> {
@Override
public void render(final Treeitem treeItem, PermissionTreeNode node, int arg) throws Exception {
final PermissionTreeNode ptn = (PermissionTreeNode)node;
Treerow treeRow = new Treerow();
treeItem.setOpen(ptn.isOpen());
treeItem.appendChild(treeRow);
PermissionItem current = (PermissionItem) ptn.getData();
treeRow.appendChild(new Treecell(current.getName()));
}
}
我BasicComposer(延伸GenericForwardComposer)既有屬性
private PermissionTreeModel treeModel;
private TreeitemRenderer treeitemRenderer = new PermissionTreeRenderer();
與getter和setter。
在我.zul我的樹是這個樣子:
<tree id="permissionTree" width="100%"
model="@{win$composer.treeModel}"
treeitemRenderer="@{win$composer.treeitemRenderer}">
<treecols>
<treecol label="Item" width="400px" />
<treecol label="Wert" />
</treecols>
</tree>
什麼我迄今所測試看到的是,他加載模型(他步入吸氣),而不是檢測TreeItemRenderer。不管我做什麼,都不會調用渲染方法。
編輯:我的問題是,我不僅填補根節點(用於測試),它至少需要一個子項繪製...
好@dennis:我會嘗試使用類似的新途徑你說,所以這是我的代碼:
<tree id="permissionTree" width="100%"
model="@bind(vm.treeModel)" style="text-align:left;">
<treecols>
<treecol label="Item" width="400px" />
<treecol label="Wert" />
<treecol label="Einfügen" width="100px" />
</treecols>
<template name="model" var="node" status="s">
<treeitem open="@bind(node.open)">
<treerow>
<treecell label="@bind(s.index)" />
<treecell label="@bind(node.data)" />
<treecell>
<hbox>
<button label="Index"
onClick="@command('showIndex', index=s.index)" />
<button label="Delete"
onClick="@command('delete', node=node)" />
<button label="Add After"
onClick="@command('addAfter', node=node)" />
<button label="Add Before"
onClick="@command('addBefore', node=node)" />
</hbox>
</treecell>
</treerow>
</treeitem>
</template>
</tree>
但它只是不會填充我的樹數據了。哦,那是什麼狀態變量?我是否需要在其他文件中做好準備?
編輯:問題解決了,不得不申請org.zkoss.bind.BindComposer
謝謝你們!
ZK哪個版本您使用的? – Tim 2012-07-13 08:24:40