2010-08-01 11 views
0

Existe-t-il un moyen de modifier les marges de gauche pour les nœuds? Tree2 rend ces marges avec des colonnes telles que:Espacement des composants Tomahawk tree2

<td height="100%" width="19" style=""><img height="18" border="0" width="19" src="/vwwinner/faces/myFacesExtensionResource/org.apache.myfaces.renderkit.html.util.MyFacesResourceLoader/12806587/tree2.HtmlTreeRenderer/images/spacer.gif" alt="spacer"></td>

19 largeur px est trop grand pour moi, donc je serais heureux de savoir comment changer cette valeur.

Répondre

0

Eh bien, pour des raisons inconnues que la valeur a été définitivement dans t: tree2 classe renderer (HtmlTreeRenderer):

protected void encodeCurrentNode(...) { 
     ..... 
     out.writeAttribute(HTML.WIDTH_ATTR, "19", null); 
     out.writeAttribute(HTML.HEIGHT_ATTR, "100%", null); 
     ... 
} 

Je viens donc étendu cette classe, overrided encodeCurrentNode() méthode et enregistré mon renderer en face -config.xml:

<render-kit> 
    <render-kit-id>HTML_BASIC</render-kit-id> 
    <renderer> 
     <component-family>org.apache.myfaces.HtmlTree2 </component-family> 
    <renderer-type> 
     org.apache.myfaces.HtmlTree2 
    </renderer-type> 
    <renderer-class> 
     com.myapp.MyHtmlTreeRenderer 
    </renderer-class> 
</renderer> 
</render-kit> 
0

Vous pouvez toujours remplacer la valeur de largeur par css.

td { width: 100px; } 

Il devrait être possible de spécifier styleClass pour treeNode.

Dans tous les cas, l'attribut width sur l'élément td est obsolète et css doit être utilisé à la place.