public void buildGrid() {
    bean_inmueble = new BeanItemContainer<InmuebleModel>(InmuebleModel.class);
    SessionModel usuario = (SessionModel) UI.getCurrent().getSession().getAttribute("user");

    short dependencia = dependencia_impl.getdependencia_ID(usuario.getDependecia());
    bean_inmueble.addAll(this.inmueble_impl.getalls(dependencia));
    setContainerDataSource(bean_inmueble);
    setHeightMode(HeightMode.ROW);
    setHeightByRows(5);

    removeColumn("INM_Fecha_Registro");
    removeColumn("INM_Dependencia_ID");
    removeColumn("INM_Ciudad_ID");

    setWidth("100%");

    setColumnOrder("INM_Inmueble", "INM_Nombre_Inmueble", "INM_Ciudad", "INM_Domicilio_Inmueble");

    Grid.Column id_inmuebleColumn = this.getColumn("INM_Inmueble");
    Grid.Column nombre_inmuebleColumn = this.getColumn("INM_Nombre_Inmueble");
    Grid.Column id_ciudadColumn = this.getColumn("INM_Ciudad");
    Grid.Column domicilioColumn = this.getColumn("INM_Domicilio_Inmueble");

    id_inmuebleColumn.setHeaderCaption("Codigo");
    nombre_inmuebleColumn.setHeaderCaption("Nombre del Inmueble").setExpandRatio(6);
    id_ciudadColumn.setHeaderCaption("Ciudad").setExpandRatio(2);
    domicilioColumn.setHeaderCaption("Domicilio").setExpandRatio(4);
    Responsive.makeResponsive(this);
  }
  public VGeneradorpinP() {
    this.btn_agregar = new Button("Generar PIN");
    this.btn_agregar.addClickListener(this);

    this.gridTipoAutorizacion = new GridTipoAutorizacion(session.getId());
    this.txt_nombre_servidor.setEnabled(false);
    this.txtDependencia.setEnabled(false);
    this.txtUnidadOrganizacional.setEnabled(false);
    this.txt_nombre_servidor.setWidth("100%");
    this.txtDependencia.setWidth("100%");
    this.txtUnidadOrganizacional.setWidth("100%");
    this.txt_nombre_servidor.setValue(session.getFull_name());
    this.txtDependencia.setValue(session.getDependecia());
    this.txtUnidadOrganizacional.setValue(session.getUnidad());
    addComponent(buildNavBar());
    addComponent(buildFormContent());
    addComponent(buildButtonBar());
  }
  @Override
  public void buttonClick(ClickEvent event) {
    this.mensajes.clear();
    if (event.getButton() == this.btn_agregar) {
      this.frm_pin.updatePin();
      PinModel pin = new PinModel();
      pin.setCi(session.getCi());
      pin.setDependencia_id(session.getId_dependecia());
      pin.setFecha_generacion(new java.sql.Date(new Date().getTime()));
      pin.setFecha_registro(new java.sql.Date(new Date().getTime()));
      pin.setPin(frm_pin.getCode());
      pin.setUnidad_organizacional_id(session.getId_unidad_organizacional());
      pin.setUsuario_id(session.getId());
      if (pinimpl.addPIN(pin)) {
        this.mensajes.add(new BarMessage("Fomulario", Messages.SUCCESS_MESSAGE, "success"));
      } else {
        this.mensajes.add(new BarMessage("Fomulario", Messages.NOT_SUCCESS_MESSAGE));
      }

      buildMessages(this.mensajes);
    }
  }