我有一个CheckBoxCell我想添加我的CellTable但不是我错了,因为当我运行它时没有显示我的检查
这是我的代码
公共类TablaEntryPoint扩展Composite实现EntryPoint { private SingleSelectionModel sm = new SingleSelectionModel(); {
// Añade un objeto que recibe notificaciones cuando cambia la selección.
sm.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
AuxParametro c = sm.getSelectedObject();
if (c != null) {
Window.alert(c.getNomParametro());
}
}
});
}
/** La tabla trabaja por páginas. En este caso la longitud de página se pasa en el
* constructor. También hay un constructor sin parámetros que define una longitud
* por defecto de 15 renglones por página. */
private final CellTable<AuxParametro> tblConocidos = new CellTable<AuxParametro>(10);
{
// asigna el objeto que controla las selecciones.
tblConocidos.setSelectionModel(sm);
// Agrega columnas.
// Columna numérica. El constructor de "NumberCell"puede recibir un"NumberFormat".
tblConocidos.addColumn(new Column<AuxParametro, Number>(new NumberCell()) {
{
setHorizontalAlignment(HasAlignment.ALIGN_RIGHT);
}
@Override
public Long getValue(final AuxParametro objeto) {
return objeto.getIdParametro();
}
}, "ID Unico");
// Columna de texto fijo con encabezado y pie de página.
tblConocidos.addColumn(new TextColumn<AuxParametro>() {
@Override
public String getValue(final AuxParametro objeto) {
return objeto.getNomParametro();
}
}, "Nombre Parametro");
/* Columna modificable. El método "update" de la interfaz "FieldUpdater" recibe
* los cambios a un objeto de la columna. */
tblConocidos.addColumn(new Column<AuxParametro,String>(new TextInputCell()) {
{
/* Asigna la referencia al objeto que recibe las notificaciones de cambio. */
setFieldUpdater(new FieldUpdater<AuxParametro, String>() {
@Override
public void update(int index, AuxParametro objeto, String valor) {
objeto.setCodContable(Integer.parseInt(valor));
}
});
}
@Override
public String getValue(final AuxParametro objeto) {
return String.valueOf(objeto.getCodContable());
}
}, "Codigo Contable");
// Columna de fecha.
tblConocidos.addColumn(new Column<AuxParametro, Number>(new NumberCell()) {
@Override
public Integer getValue(final AuxParametro objeto) {
return objeto.getCodUno();
}
}, "Codigo Uno");
// Columna de fecha.
tblConocidos.addColumn(new Column<AuxParametro, Number>(new NumberCell()) {
@Override
public Integer getValue(final AuxParametro objeto) {
return objeto.getCodDos();
}
}, "Codigo Dos");
Column<AuxParametro, Boolean> checkColumn = new Column<AuxParametro, Boolean>(
new CheckboxCell(true, false)) {
@Override
public Boolean getValue(AuxParametro object) {
// Get the value from the selection model.
return sm.isSelected(object);
}
};
tblConocidos.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
}
private final SimplePager pager = new SimplePager();
{
pager.setDisplay(tblConocidos);
}
public TablaEntryPoint(List<AuxParametro> tabla) {
ListDataProvider<AuxParametro> dataProvider = new ListDataProvider<AuxParametro>(tabla);
dataProvider.addDataDisplay(tblConocidos);
FlowPanel panel = new FlowPanel();
panel.add(new Label("Seleccione un contacto o edite su teléfono."));
panel.add(tblConocidos);
panel.add(pager);
initWidget(panel);
}
public void onModuleLoad() {
RootPanel.get().add(this);
}
}
答案 0 :(得分:0)
我认为您需要为每个列设置列宽。如果您查看GWT展示CellTable
示例(here),您会看到复选框列宽已使用语句cellTable.setColumnWidth(checkColumn, 40, Unit.PX)
设置。