CellTable中的CheckBoxCell

时间:2014-08-19 04:37:43

标签: gwt

我有一个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);
  }

}

1 个答案:

答案 0 :(得分:0)

我认为您需要为每个列设置列宽。如果您查看GWT展示CellTable示例(here),您会看到复选框列宽已使用语句cellTable.setColumnWidth(checkColumn, 40, Unit.PX)设置。