Wednesday, 19 August 2026

ItemId Lookup for an Unbounded Control in D365FO

 In D365FO, you can create an ItemId lookup for an unbounded control using SysTableLookup without requiring any datasource binding.

The key is to pass the control (sender) directly to SysTableLookup::newParameters() and define the required lookup fields and query.

[FormControlEventHandler(formControlStr(PurchCreateFromSalesOrder, MarkupItemId), 
FormControlEventType::Lookup)] public static void MarkupItemId_OnLookup(FormControl sender, FormControlEventArgs e) { SysTableLookup sysTableLookup; Query query; QueryBuildDataSource qbds; sysTableLookup = SysTableLookup::newParameters(tableNum(InventTable), sender); sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId)); sysTableLookup.addLookupfield(fieldNum(InventTable, NameAlias)); query = new Query(); qbds = query.addDataSource(tableNum(InventTable)); // Optional filter // qbds.addRange(fieldNum(InventTable, ItemType)) // .value(queryValue(ItemType::Item)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); }

Key Point

For an unbounded control, pass sender to SysTableLookup::newParameters(). No datasource binding is required.

No comments:

Post a Comment

Company Lookup for an Unbounded Control in D365FO

 In D365FO, you can create a Company (DataArea) lookup for an unbounded control using SysTableLookup without requiring any datasource bind...