Use the query object to modify the query of a
form data source. The query object can be retrieved using either <name of
data source>_Q or FormDataSource.Query()
To make a permanent modification of the query,
this is typically implemented in FormDataSource.Init() after the call to
super().
To filter records in a form perform the
following steps.
1.
In the ClassDeclaration, declare the relevant
QueryBuildRange or QueryFilter objects.
2.
In FormDataSource.Init, initialize the range object.
3.
In FormDataSource.ExecuteQuery, assign the actual
values to the ranges before call of super().
Combine the sorting with some aggregated fields,
which makes the data source display aggregate information from the table
instead of transactions. Perform the following steps to show the sum of
quantity of inventory transactions shown per Item Id:
1.
Group the data by item id using the addGroupByField on
the datasource.
Add Sum(Qty) as a SelectionField
public void init()
{
QueryBuildDataSource dataSource;
super();
dataSource = this.query().dataSourceTable(tableNum(InventTrans));
dataSource.addGroupByField(fieldNum(InventTrans, ItemId));
dataSource.addSelectionField(fieldNum(InventTrans, Qty), SelectionField::Sum);
}
{
QueryBuildDataSource dataSource;
super();
dataSource = this.query().dataSourceTable(tableNum(InventTrans));
dataSource.addGroupByField(fieldNum(InventTrans, ItemId));
dataSource.addSelectionField(fieldNum(InventTrans, Qty), SelectionField::Sum);
}
No comments:
Post a Comment