2011-08-19 2 views
9

GWT에서 셀 테이블을 사용하고 있습니다. 해당 셀 테이블에서이 열을 추가하고 있습니다.셀 테이블 GWT에서 열을 숨기는 방법?

TextColumn<Document> idColumn = new TextColumn<Document>() { 
     @Override 
     public String getValue(Document object) { 
      return Long.toString(object.getId()); 
     } 
    }; 
    TextColumn<Document> refColumn = new TextColumn<Document>() { 
     @Override 
     public String getValue(Document object) { 
      return object.getReferenceNumber(); 
     } 
    }; 
    /* 
    * DateCell dateCell = new DateCell(); Column<Contact, Date> dateColumn 
    * = new Column<Contact, Date>(dateCell) { 
    * 
    * @Override public Date getValue(Contact object) { return 
    * object.birthday; } }; 
    */ 
    TextColumn<Document> nameColumn = new TextColumn<Document>() { 
     @Override 
     public String getValue(Document object) { 
      return object.getDocumentName(); 
     } 
    }; 
      table = new CellTable<T>(); 
    table.addColumn(idColumn, "Id"); 
    table.addColumn(refColumn, "Reference Number"); 
    table.addColumn(nameColumn, "Name"); 
} 

이제 몇 가지 질문이 있습니다. id 열을 숨기는 방법은 무엇입니까? 행을 클릭하면 선택한 행에서 어떻게 얻을 수 있습니까? 도와주세요. 미리 감사드립니다.

답변

14

글쎄 CellTable에 대한 고정 레이아웃을 사용하고 숨길 특정 열의 너비를 0px로 설정할 수 있습니다. 다른 접근 방식을 사용했습니다.

내 경우에는 편집 모드에서 celltable을 넣는 버튼을 누르 자마자 checkbox 열을 표시해야하는 cellTable이 있습니다. CheckBoxColumn을 만들고 단추를 누를 때 CheckBoxColumn을 삽입하고 제거하면됩니다. 그것은 그렇게 seomething 보인다 :

@Override 
public void insertCheckBoxColumn(Column<Object,Boolean> column) { 
    if (cellTable.getColumnIndex(column) == -1) { 
     cellTable.addColumn(column,""); 
     cellTable.setColumnWidth(column,50, Unit.PX); 
    } 
} 

@Override 
public void removeCheckBoxColumn(Column<Object, Boolean> column) { 
    int index = cellTable.getColumnIndex(column); 
    if (index != -1) 
     cellTable.removeColumn(index); 
} 

그러나 당신이 구글 크롬에이 issue으로 실행할 수 있습니다.

+0

어떻게 열 순서 문제를 삽입, muptiple 열을 제거 할 관리, pls이 질문 읽기 http://stackoverflow.com/questions/21630708/how-to-fix-the-column-ordering-issue-when- 삽입 및 제거 컬럼 - 인 - gwt – Kiti

관련 문제