How to filter a second LookUp based on a first LookUp value in Form’s
- First I created a form and added two tables (InventItemGroup, InventItemGroupItem).
- In the design add new string edit controls (Item GroupId), string edit1 (ItemId).
- Override the lookup method in string edit(Item GroupId).
public void
lookup()
{
Query q
= new Query();
QueryBuildDataSource qbds;
QueryBuildRange qr;
SysTableLookup sl = SysTableLookup::newParameters(tableNum(InventItemGroup),this);
sl.addLookupfield(fieldNum(InventItemGroup,ItemGroupId),true);
qbds =
q.addDataSource(tableNum(InventItemGroup));
sl.parmQuery(q);
sl.performFormLookup();
super();
}
Override the lookup method in string edit1( ItemId).
public void
lookup()
{
Query q =
new Query();
QueryBuildDataSource
qbds,qbds1;
QueryBuildRange
qr1,qr2;
SysTableLookup sl =
SysTableLookup::newParameters(tableNum(InventItemGroupItem),this);
sl.addLookupfield(fieldNum(InventItemGroupItem,ItemId),true);
qbds =
q.addDataSource(tableNum(InventItemGroupItem));
qbds1 =
qbds.addDataSource(tableNum(InventItemGroup));
qbds1.joinMode(JoinMode::ExistsJoin);
qbds.relations(true);
qr1 =
qbds.addRange(fieldNum(InventItemGroupItem,ItemGroupId));
qr1.value(ItemGroupId.valueStr());
sl.parmQuery(q);
sl.performFormLookup();
}
No comments:
Post a Comment