2

我正在学习如何使用 Eclipse Scout 并从 Eclipse Scout 教程中的教程开始

我自豪地完成了第一个 hello world 教程,但在尝试完成Minicrm 教程时遇到了困难

一切顺利,直到一步,当我需要重新启动服务器和任何 GUI 客户端以查看我刚刚创建的大纲中的表格式不正确时。问题:没有客户向我展示创建的表,它们都是空的。

空应用程序

我在每个新添加的列(除主键列之外的所有列)中勾选了可见字段,但我不明白为什么没有显示表。我什至尝试继续教程并根据需要将列宽设置为 200,但仍然没有表格。我在下面粘贴了 Class CompanyTablePage 的代码。还提供了 Scout Explorer 的屏幕截图。我真的刚开始使用 Eclipse Scout,如果有任何帮助或提示,我将不胜感激!

谢谢,伊萨

 /**
 * 
 */
package org.eclipsescout.demo.minicrm.client;

import org.eclipse.scout.commons.annotations.Order;
import org.eclipse.scout.commons.annotations.PageData;
import org.eclipse.scout.rt.client.ui.basic.table.columns.AbstractLongColumn;
import org.eclipse.scout.rt.client.ui.basic.table.columns.AbstractStringColumn;
import org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPageWithTable;
import org.eclipse.scout.rt.extension.client.ui.basic.table.AbstractExtensibleTable;
import org.eclipse.scout.rt.shared.TEXTS;
import org.eclipsescout.demo.minicrm.client.CompanyTablePage.Table;
import org.eclipsescout.demo.minicrm.shared.CompanyTablePageData;
import org.eclipsescout.demo.minicrm.client.CompanyTablePage.Table.NameColumn;

/**
 * @author Isa
 */
@PageData(CompanyTablePageData.class)
public class CompanyTablePage extends AbstractPageWithTable<Table> {

  @Override
  protected String getConfiguredTitle() {
    return TEXTS.get("Company");
  }

  @Order(10.0)
  public class Table extends AbstractExtensibleTable {

    /**
     * @return the ShortNameColumn
     */
    public ShortNameColumn getShortNameColumn() {
      return getColumnSet().getColumnByClass(ShortNameColumn.class);
    }

    /**
     * @return the NameColumn
     */
    public NameColumn getNameColumn() {
      return getColumnSet().getColumnByClass(NameColumn.class);
    }

    /**
     * @return the CompanyNrColumn
     */
    public CompanyNrColumn getCompanyNrColumn() {
      return getColumnSet().getColumnByClass(CompanyNrColumn.class);
    }

    @Order(10.0)
    public class CompanyNrColumn extends AbstractLongColumn {

      @Override
      protected boolean getConfiguredDisplayable() {
        return false;
      }

      @Override
      protected boolean getConfiguredPrimaryKey() {
        return true;
      }

      @Override
      protected boolean getConfiguredVisible() {
        return false;
      }
    }

    @Order(20.0)
    public class ShortNameColumn extends AbstractStringColumn {

      @Override
      protected String getConfiguredHeaderText() {
        return TEXTS.get("ShortName");
      }

      @Override
      protected int getConfiguredWidth() {
        return 200;
      }
    }

    @Order(30.0)
    public class NameColumn extends AbstractStringColumn {

      @Override
      protected String getConfiguredHeaderText() {
        return TEXTS.get("Name");
      }

      @Override
      protected int getConfiguredWidth() {
        return 200;
      }
    }
  }
}

侦察探险家

4

1 回答 1

2

在我看来,您在创建 Scout 项目时选择了错误的模板。

您确定选择“基于大纲的应用程序”吗?

Scout SDK 向导 - 新 Scout 项目 - Scout 应用程序模板

此处描述了不同的类型:应用程序类型

主要区别在于Desktop#execOpened()您的侦察应用程序。您将需要手动更改此实现。

根据所选模板,SDK 在项目创建期间添加一些默认元素(表单、大纲...)。您可以在项目创建后添加这些元素。

于 2014-09-02T12:47:45.267 回答