Wednesday, 28 October 2015

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