Tabbox Renderer"

From Documentation
m ((via JWB))
Line 27: Line 27:
 
=Version History=
 
=Version History=
 
{{LastUpdated}}
 
{{LastUpdated}}
{| border='1px' | width="100%"
+
{| class='wikitable' | width="100%"
 
! Version !! Date !! Content
 
! Version !! Date !! Content
 
|-
 
|-

Revision as of 08:18, 11 January 2022

  • Available for ZK:
  • http://www.zkoss.org/product/zkhttp://www.zkoss.org/whyzk/zkeeVersion ee.png
[Since 7.0.0]

Here we describe how to implement a custom renderer for a tabbox (TabboxRenderer). For the concepts about component, model and renderer, please refer to the Model-driven Display section.

When a tabbox (Tabbox) is assigned with a model, a default renderer is assigned too. The default renderer will assume that each tab has only one tabpanel, and it converts the data into a string directly[1]. If you want to display a rich tabpanel or retrieve a particular field of the data, you have to implement TabboxRenderer to handle the rendering.

For example,

public class MyRenderer implements TabboxRenderer{
	public void renderTab(Tab tab, Object data, int index) {
		tab.setLabel("New -- " + data);
	}
	public void renderTabpanel(Tabpanel tabpanel, Object data, int index) {
		tabpanel.appendChild(new Label("New -- " + data));
	}
}

  1. If the tabbox is assigned a template called model:tab and model:tabpanel, then the template will be used to render the tabbox. For more information, please refer to the Tabbox Template section.

Version History

Last Update : 2022/01/11


Version Date Content
7.0.0 November 2013 Tabbox support ListModel



Last Update : 2022/01/11

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.