Ejemplo n.º 1
0
  private void initView() {
    // initialize Slide View Organization View
    dgCalendar.setImmediate(true);

    refreshBindindSource();

    // STEP 01: create grid view for slide Organization View
    try {
      dgCalendar.setBindingSource(bsCalendar);
      dgCalendar.setVisibleColumns(
          new String[] {
            "name",
            "description",
            "calendarType.description",
            "calendarFromDate",
            "calendarToDate",
            "observation",
            "active"
          });
      dgCalendar.setColumnHeaders(
          new String[] {
            "Nombre", "Descripción", "Tipo", "Fecha Inicio", "Fecha Fin", "Observaciones", "Activo"
          });
      dgCalendar.setEditable(true);
      dgCalendar.setTableFieldFactory(
          new TableFieldFactory() {
            @Override
            public Field createField(
                Container container, Object itemId, Object propertyId, Component uiContext) {
              if ("active".equals(propertyId)) {
                CheckBox field = new CheckBox();
                field.setReadOnly(true);
                return field;
              }

              return null;
            }
          });

      dgCalendar.setColumnCollapsed("observation", true);
    } catch (Exception ex) {
      ex.getMessage();
    }

    // STEP 02: create toolbar for slide Organization View
    navigationToolbar = new NavigationToolbar(0, bsCalendar, viewContainer);
    editionToolbar = new EditionToolbar(1, bsCalendar);
    boxToolbar = new BoxToolbar(2, bsCalendar);

    navigationToolbar.addListenerDownButton(this);
    navigationToolbar.addListenerRefreshButton(this);

    editionToolbar.addListenerAddButton(this);
    editionToolbar.addListenerEditButton(this);
    editionToolbar.addListenerDeleteButton(this);

    boxToolbar.addListenerFilterButton(this);
    boxToolbar.addListenerPrintButton(this);

    removeAllToolbar();

    addToolbar(navigationToolbar);
    addToolbar(editionToolbar);
    addToolbar(boxToolbar);
  }