我正在学习如何使用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在项目创建过程中会添加一些默认元素(窗体,大纲...)。您可以在创建项目后添加这些元素。