Filtering of grid data using date filters in form.
public void executeQuery()
{
Query query = new Query();
QueryBuildDataSource qbds;
QueryBuildRange qbr;
qbr = SysQuery::findOrCreateRange(SalesLine_q.datasourceTable(tableNum(SalesLine)),
fieldNum(SalesLine,ShippingDateConfirmed));
if (ToDate.dateTimeValue() > FromDate.dateTimeValue() )
//if (ToDate.dateTimeValue() !=utcdatetimenull() && FromDate.dateTimeValue() !=utcdatetimenull())
{
qbr.value(SysQuery::range(FromDate.dateTimeValue(),
ToDate.dateTimeValue()));
super();
}
else
{
qbr.value(SysQuery::valueUnlimited());
}
}
void clicked()
{
super();
SalesLine_ds.executeQuery();
}
- I created a form using salesline as data source.Add fileds in grid under the design node.
- In design node add group.In that group add 2 utcdatetime controls. Add one more button in this group.
- Now create a grid and drag and drop the fields what ever you want into the grid from data source.
- override the execute query method in form data source methods.
public void executeQuery()
{
Query query = new Query();
QueryBuildDataSource qbds;
QueryBuildRange qbr;
qbr = SysQuery::findOrCreateRange(SalesLine_q.datasourceTable(tableNum(SalesLine)),
fieldNum(SalesLine,ShippingDateConfirmed));
if (ToDate.dateTimeValue() > FromDate.dateTimeValue() )
//if (ToDate.dateTimeValue() !=utcdatetimenull() && FromDate.dateTimeValue() !=utcdatetimenull())
{
qbr.value(SysQuery::range(FromDate.dateTimeValue(),
ToDate.dateTimeValue()));
super();
}
else
{
qbr.value(SysQuery::valueUnlimited());
}
}
- Override clicked method in the button.
void clicked()
{
super();
SalesLine_ds.executeQuery();
}
- Make sure that the allow declaration property for the controls are yes.
- Also keep the arrange method property as Horizontal, flush right for group controls.
No comments:
Post a Comment