2010-08-01 56 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代替。