/**
   * @param model
   * @throws DatabaseException
   */
  public FormController(String name, ScreenController<?> parent) {
    super(name, null, parent);
    this.setModel(new FormModel<E>(this));

    FormModel<E> model = getModel();
    resetSystemHiddenColumns();
    model.resetUserHiddenColumns();

    // FIXME: this assumes first column is sortable...
    try {
      this.pager =
          new LimitOffsetPager<E>(getEntityClass(), model.create().getFields().firstElement());

      // copy default sort from view
      pager.setOrderByField(model.getSort());
      pager.setOrderByOperator(model.getSortMode());
      pager.setLimit(model.getLimit());

    } catch (DatabaseException e) {
      logger.error(e.getMessage());
      e.printStackTrace();
    }
  }