AX / D365FO – Filter records on form using X++

//Step 1
//Declare a class variable 
//In the ClassDeclaration method of form declare a QueryBuildRange
class FormRun extends ObjectRun
{
    QueryBuildRange      qbdr;
}

//Step 2
//Initialize this range in the init method of datasource after super() call.
public void init()
{
    super();
    qbdr = InventSum_ds.queryBuildDataSource().addRange(fieldNum(InventSum, PhysicalInvent));
    qbdr.value(queryValue('>0')); //range value, in this case filter records that have PhysicalInvent Qty > 0

    InventSum_ds.executeQuery(); //execute Query

}

One response to “AX / D365FO – Filter records on form using X++”

  1. Jacob Hjørnet Sørensen Avatar
    Jacob Hjørnet Sørensen

    qbdr = InventSum_ds.queryBuildDataSource().addRange(fieldNum(InventSum, PhysicalInvent));
    qbdr.value(queryValue(‘>0’));

    qbdr.value(queryValue(‘>0’));

    Could be written more compact as
    SysQuery::findOrCreateRange(InventSum_ds.queryBuildDataSource(),fieldNum(InventSum, PhysicalInvent)).value(queryValue(‘>0’));

    Like

Leave a comment