2010-12-16 6 views

답변

24

EDIT가 : GWT 2.2 table.setWidth 및 table.setColumnWidth가

table.setWidth("100%", true); 
table.setColumnWidth(nameColumn, 35.0, Unit.PCT); 
table.setColumnWidth(addressColumn, 65.0, Unit.PCT); 

지원되는 I 프로그래밍 폭을 설정하는 방법과 CellTable을 확장 할 수 있었다. 이 작업을 수행해야하는 모든 실제 메서드가 CellTable 전용이므로 GWT에서이 메서드를 직접 제공해야하는 것처럼 보이지만 제대로 작동하는 것 같습니다.

public void setColumnWidths(List<Integer> widths) 
{ 
    TableElement tel = TableElement.as(getElement()); 
    NodeList<Element> colgroups = tel.getElementsByTagName("colgroup"); 
    if (colgroups.getLength() == 1) 
    { 
     TableColElement cge = TableColElement.as(colgroups.getItem(0)); 
     NodeList<Element> cols = cge.getElementsByTagName("col"); 
     for (int j = 0; j < widths.size(); j++) 
     { 
      TableColElement column = null; 
      if (cols.getLength() > j) 
      { 
       column = TableColElement.as(cols.getItem(j)); 
      } 
      else 
      { 
       column = cge.appendChild(Document.get().createColElement()); 
      } 

      column.setWidth(widths.get(j)+"px"); 

     } 

    } 
} 
4

addColumnStyleName(int index, java.lang.String styleName) 메서드를 사용하여 특정 열에 스타일 이름을 사용할 수 있습니다.

Javadoc for CellTable

+0

내가 그것을 사용하는 방법을 알고하지 않습니다에 의해이 방법에 대해 알고있다. 그런 스타일 클래스는 어디에 선언해야합니까? – Opal

+0

응용 프로그램의 스타일 시트에 있습니다. [ClientBundle] (http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideClientBundle.html)을 보거나 사용자 정의 스타일 시트를 포함하십시오. – bestform

+0

감사합니다. 작동합니다. CellTable.Resource에서이 스타일 시트를 선언하고 싶습니다. 그러나 예외가 발생합니다 : [오류] CSS를 처리 할 수 ​​없습니다. 어떻게 할 수 있는지 알고 있습니까? – Opal

0

내게 맞는 것은 내 CSS에 새로운 수업을 추가하는 것입니다. 이 클래스는 데이터에 따라 길이가 다른 요소를 선택하는 경우에만 적용됩니다.

.__gwt_cell select{ 
    width:170px; 
} 

그런 다음 오처럼 내 특정 셀 스타일에 적용 :

table.getColumn(3).setCellStyleNames("yourstyle");