2010-08-01 10 views
0

노드의 왼쪽 여백을 변경할 수있는 방법이 있습니까? Tree2는 다음과 같은 열이있는 사람 마진 렌더링 :토마 호크 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 픽셀의 폭이 나를 위해 너무 큰를, 그래서이 값을 변경하는 방법을 알아 기쁠 것입니다.

답변

0

음, 값이 t에 하드 코딩 된 것을 알 수없는 이유로 : tree2 렌더러 클래스 (HtmlTreeRenderer) : 그래서 난 그냥, 그 클래스를 확장 encodeCurrentNode() 메소드를 오버라이드과 얼굴에 내 렌더러를 등록

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

-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를 사용해야합니다.