【问题标题】:Table of StandardOutline not shown in GUI of Eclipse ScoutEclipse Scout 的 GUI 中未显示标准大纲表
【发布时间】:2014-09-02 11:04:35
【问题描述】:

我正在学习如何使用 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;
      }
    }
  }
}

【问题讨论】:

    标签: java eclipse eclipse-scout


    【解决方案1】:

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

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

    这里描述了不同的类型:type of application

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

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

    【讨论】:

    • 嗨,马蒂亚斯,谢谢您的回答。可能是我忽略了教程中的这一步。如果可行,我将尝试创建一个新项目并将您的答案标记为正确。但是有什么办法可以在不创建新项目的情况下纠正这个问题?
    • 嗨,Isa,当然可以。但是,由于您处于开发的早期阶段,因此不仅要重新创建项目,还需要更多的时间。希望这会有所帮助
    • 我同意 Matthias 的观点,最简单的方法是在创建模板时选择合适的模板。但是没有黑魔法,即使我们有 3 个模板,也只是你想手工做什么以及你想生成什么的问题。我编辑了答案以添加此信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多