1
我有一個複合單元,它工作正常,它有一個textinputcell和一個按鈕單元格。然而,當它顯示它將buttoncell放在文本輸入單元格下方時,如圖所示CellTable上的複合單元寬度
下面是使用hascells實現我的compositecel,謝謝!
final HasCell<ObjetoDato,String> celda1=new HasCell<ObjetoDato,String>(){
TextInputCell celda;
@Override
public Cell<String> getCell() {
celda=new TextInputCell();
return celda;
}
@Override
public FieldUpdater<ObjetoDato, String> getFieldUpdater() {
return null;
}
@Override
public String getValue(ObjetoDato object) {
//new Scripter(object,actual.getComportamiento(),true);
return object.getValor(actual.getNombreCampo());
}
};
HasCell<ObjetoDato,String> celda2=new HasCell<ObjetoDato,String>(){
ButtonCell celda;
@Override
public Cell<String> getCell() {
celda=new ButtonCell();
return celda;
}
@Override
public FieldUpdater<ObjetoDato, String> getFieldUpdater() {
return new FieldUpdater<ObjetoDato, String>(){
@Override
public void update(int index,ObjetoDato object, String value) {
new Seleccionador(actual.getClaseRelacion(), actual.getNombreCampo(),object.getValor(actual.getNombreCampo()), object.getIdRelacion(actual.getNombreCampo()), object,tabla,object,actual.getComportamiento());
}
};
}
@Override
public String getValue(ObjetoDato object) {
return "...";
}
};
//Composite
List<HasCell<ObjetoDato,?>> celdas = new LinkedList<HasCell<ObjetoDato,?>>();
celdas.add(celda1);
celdas.add(celda2);
CompositeCell<ObjetoDato> cell = new CompositeCell<ObjetoDato>(celdas);
Column<ObjetoDato,ObjetoDato> columna = new Column<ObjetoDato,ObjetoDato>(cell) {
@Override
public ObjetoDato getValue(ObjetoDato object) {
return object;
}
};
//columna.setCellStyleNames("columna3puntos");
tabla.agregarColumna(columna,actual.getCaption());
究竟是什麼問題?我假設你想把它放在一行中嗎?是否有可能設置yourCellTable.setWidth(「100%」,true)?這將設置固定的佈局,但是...讓我們說太固定了。之後,您可以設置所有列的寬度。那麼你可以這樣做嗎?如果它太多地損害你的設計,那麼這可能不是這樣 – Miroslav