2010-08-01 58 views
0

有什么办法可以改变节点的左边距? Tree2呈现与列的利润率,如:战斧树2组件间距

<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像素宽度是太大了,所以我会很高兴,找出如何改变这个值。

回答

0

嘛,不知什么原因,该值是在T硬编码:tree2渲染器类(HtmlTreeRenderer):

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

所以,我只是扩展这个类,overrided encodeCurrentNode()方法和注册我的渲染中的人脸-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

你总是可以用css覆盖宽度值。

td { width: 100px; } 

应该可以为treeNode指定styleClass。

在任何情况下,td元素的width属性都被弃用,应该使用css代替。