2011-08-19 20 views
9

Estoy usando Cell Table en GWT. En esa tabla de celdas, agrego estas columnas.¿Cómo ocultar la columna en la tabla de celdas 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"); 
} 

Ahora tengo algunas preguntas: cómo ocultar la columna id? Al hacer clic en la fila, ¿cómo puedo obtener la fila seleccionada? Por favor, ayúdenme. Gracias de antemano.

Respuesta

14

Bueno, podrías intentar usar el diseño fijo para la CellTable y establecer el ancho de la columna específica que deseas ocultar en 0px. Utilicé otro enfoque.

En mi caso, tengo una CellTable que debería mostrar una columna de casilla de verificación tan pronto como presiono un botón (que pone la celda en el modo de edición). Lo hago creando un CheckBoxColumn e insertándolo y quitándolo cuando presiono el botón. Parece seomething así:

@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); 
} 

Sin embargo tenga en cuenta que usted podría encontrarse con este issue en Google Chrome.

+0

¿Cómo se gestiona el problema de orden de columnas al insertar, eliminar columnas de los muptiples, pls lea esta pregunta http://stackoverflow.com/questions/21630708/how-to-fix-the-column-ordering-issue-when- insert-and-remove-columns-in-gwt – Kiti

Cuestiones relacionadas