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

我很自豪地完成了第一个hello world教程,并在尝试完成Minicrm Tutorial时陷入困境

一切顺利,直到this步骤,这时我需要重新启动服务器和任何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;
      }
    }
  }
}

最佳答案

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

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



此处描述了不同的类型:type of application

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

根据所选模板,SDK在项目创建过程中会添加一些默认元素(窗体,大纲...)。您可以在创建项目后添加这些元素。

10-07 16:38