Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Scout/Tutorial/5.0/webservices/Create Company Table Page"

< Scout‎ | Tutorial‎ | 5.0
(Created page with "{{ScoutPage|cat=Tutorial 5.0}} == Create Company Table Page == On the client node, go to <tt>Desktop > Outlines > StandardOutline > Child Pages</tt>. Right click on the node t...")
 
m (Load company data into CompanyTablePage)
 
(6 intermediate revisions by the same user not shown)
Line 48: Line 48:
  
 
== Create service to load company data from database ==
 
== Create service to load company data from database ==
Now we have to populate the table with company data. For that purpose, double click on the <tt>StandardOutlineService</tt> under <tt>Server > Outline Services</tt> to open the corresponding Java class. In there, create the operation <tt>getCompanyTableData</tt> to load company data from database. Also add the operation signature to the service interface <tt>IStandardOutlineService</tt> to be accessible from client side. To find the interface IStandardOutlineService, press Ctrl+Shift+T, type IStandardOutlineService and click <tt>Open</tt>.
+
Now we have to populate the table with company data. For that purpose, double click on the <tt>StandardOutlineService</tt> under <tt>Server > Outline Services</tt> to open the corresponding Java class. In there, create the operation <tt>getCompanyTablePageData</tt> to load company data from database. Also add the operation signature to the service interface <tt>IStandardOutlineService</tt> to be accessible from client side. To find the interface IStandardOutlineService, press Ctrl+Shift+T, type IStandardOutlineService and click <tt>Open</tt>.
  
 
<source lang="java">
 
<source lang="java">
Line 54: Line 54:
  
 
   @Override
 
   @Override
   public Object[][] getCompanyTableData() throws ProcessingException {
+
   public CompanyTablePageData getCompanyTablePageData() throws ProcessingException {
     return SQL.select("" +
+
     CompanyTablePageData pageData = new CompanyTablePageData();
         "SELECT   COMPANY_NR, " +
+
 
         "         NAME, " +
+
    SQL.selectInto("" +  
         "         SYMBOL " +
+
         "SELECT COMPANY_NR, " +  
         "FROM     COMPANY ");
+
         "       NAME, " +  
 +
         "       SYMBOL " +  
 +
         "FROM   COMPANY " +
 +
        "INTO  :{companyNr}, " +
 +
        "      :{name}, " +
 +
        "      :{symbol} ",
 +
        pageData);
 +
 
 +
    return pageData;
 
   }
 
   }
 
}
 
}
Line 67: Line 75:
 
Now as the <tt>StandardOutlineService</tt> is ready to load company data from the database, go back to the <tt>CompanyTablePage</tt> to consume the service's data.
 
Now as the <tt>StandardOutlineService</tt> is ready to load company data from the database, go back to the <tt>CompanyTablePage</tt> to consume the service's data.
  
On the Scout Property View, click on the operation <code>Exec Load Table Data</code> to populate the company table  
+
On the Scout Property View, click on the operation <code>Exec Load Data</code> to populate the company table  
  
[[Image:org.eclipse.scout.tutorial.jaxws.CreateCompanyTablePage_13.png|Populate company table with data]]
+
[[Image:org.eclipse.scout.tutorial.jaxws.CreateCompanyTablePage_13_5.0.png|Populate company table with data]]
  
 
Implement the method as follows:
 
Implement the method as follows:
Line 75: Line 83:
 
<source lang="java">
 
<source lang="java">
 
@Override
 
@Override
protected Object[][] execLoadTableData(SearchFilter filter) throws ProcessingException {
+
protected void execLoadData(SearchFilter filter) throws ProcessingException {
   return SERVICES.getService(IStandardOutlineService.class).getCompanyTableData();
+
   importPageData(SERVICES.getService(IStandardOutlineService.class).getCompanyTablePageData());
 
}
 
}
 
</source>
 
</source>

Latest revision as of 09:52, 9 April 2015

The Scout documentation has been moved to https://eclipsescout.github.io/.

Create Company Table Page

On the client node, go to Desktop > Outlines > StandardOutline > Child Pages. Right click on the node to create a new The Scout documentation has been moved to https://eclipsescout.github.io/..

Create Company Table Page

As page layout, choose AbstractPageWithTable to create a page representing tabular data.

Choose Page Layout

On the next step, enter Company as name for that page and choose to add this page to the StandardOutline

Give Page a name and link it with StandardOutline

By clicking Finish, the page is created and attached to the StandardOutline.

Create columns

On the CompanyTablePage node, go to Table > Columns. Right click on the node to create a new The Scout documentation has been moved to https://eclipsescout.github.io/..

Create column

Please add the following three columns to that table:

CompanyNrColumn
Type: Long Column
Name: Do not fill because column represents primary key and therefore is hidden
Class name: CompanyNrColumn

Choose type for column Enter name for column

NameColumn
Type: String Column
Name: Name
Class name: NameColumn
SymbolColumn
Type: String Column
Name: Symbol
Class name: SymbolColumn

To not display the CompanyNr column because of holding the primary key, go to that column in Scout SDK and uncheck Displayable in Scout Property View

Hide Primary Key column

To have the columns equally distributed over the available space of the table page, go to the The Scout documentation has been moved to https://eclipsescout.github.io/. node and check Auto Resize Columns in Scout Property View.

Autoresize columns

Create service to load company data from database

Now we have to populate the table with company data. For that purpose, double click on the StandardOutlineService under Server > Outline Services to open the corresponding Java class. In there, create the operation getCompanyTablePageData to load company data from database. Also add the operation signature to the service interface IStandardOutlineService to be accessible from client side. To find the interface IStandardOutlineService, press Ctrl+Shift+T, type IStandardOutlineService and click Open.

public class StandardOutlineService extends AbstractService implements IStandardOutlineService {
 
  @Override
  public CompanyTablePageData getCompanyTablePageData() throws ProcessingException {
    CompanyTablePageData pageData = new CompanyTablePageData();
 
    SQL.selectInto("" + 
        "SELECT COMPANY_NR, " + 
        "       NAME, " + 
        "       SYMBOL " + 
        "FROM   COMPANY " + 
        "INTO   :{companyNr}, " + 
        "       :{name}, " + 
        "       :{symbol} ", 
        pageData);
 
    return pageData;
  }
}

Load company data into CompanyTablePage

Now as the StandardOutlineService is ready to load company data from the database, go back to the CompanyTablePage to consume the service's data.

On the Scout Property View, click on the operation Exec Load Data to populate the company table

Populate company table with data

Implement the method as follows:

@Override
protected void execLoadData(SearchFilter filter) throws ProcessingException {
  importPageData(SERVICES.getService(IStandardOutlineService.class).getCompanyTablePageData());
}

Finally, if you launch the application, you should see something like this:

Org.eclipse.scout.tutorial.jaxws.CreateCompanyTablePage 14.png


You can continue the webservices tutorial.

Back to the top