Thank you for your reply and advance thank you for reading this long code :).
FYI i have recently started development in X++.
UI Builder Class :
class EA_CascadingUI extends SysOperationAutomaticUIBuilder
{
DialogField dialogAssetGroupId;
DialogField dialogAssetId;
EA_CascadingContract contract;
}
public void build()
{
Dialog dialogLocal = this.dialog();
contract = this.dataContractObject();
dialogLocal.addGroup("Computers");
this.addDialogField(methodStr(EA_CascadingContract,parmassetGroupid), contract);
this.addDialogField(methodStr(EA_CascadingContract,parmassetid), contract);
}
public boolean custGroupModified(FormStringControl _control)
{
dialogAssetGroupId.value(_control.valueStr());
dialogAssetId.value('');
return true;
}
public void getFromDialog()
{
//EA_CascadingContract contract;
contract = this.dataContractObject();
super();
}
public void initializeFields()
{
// EA_CascadingContract contract;
contract = this.dataContractObject();
}
public void lookupAssetId(FormStringControl _control)
{
Query query = new Query();
SysTableLookup sysTablelookup;
sysTablelookup =SysTableLookup::newParameters(tableNum(AssetTable),_control);
sysTablelookup.addLookupfield(fieldnum(AssetTable,AssetId));
// sysTablelookup.addLookupfield(fieldNum(AssetTable,AssetId));
query.addDataSource(tableNum(AssetTable));
query.dataSourceTable(tableNum(AssetTable)).addRange(fieldNum(AssetTable, AssetId)).value(dialogAssetGroupId.value());
sysTablelookup.parmQuery(query);
sysTablelookup.performFormLookup();
}
public void lookupCondition(FormStringControl _control)
{
Query query = new Query();
SysTableLookup sysTablelookup;
AssetConditionId condition1 ;
sysTablelookup =SysTableLookup::newParameters(tableNum(AssetTable),_control);
sysTablelookup.addLookupfield(fieldNum(AssetTable,AssetGroup));
// sysTablelookup.addLookupfield(fieldnum(AssetTable,Name));
// sysTablelookup.addLookupfield(fieldNum(AssetTable,AssetGroup));
query.addDataSource(tableNum(AssetTable));
sysTablelookup.parmQuery(query);
sysTablelookup.performFormLookup();
}
public void postBuild()
{
super();
// From binding info, get the dialog field for racecode attribute and add button
dialogAssetGroupId = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(EA_CascadingContract,parmassetGroupid));
if (dialogAssetGroupId)
{
dialogAssetGroupId.lookupButton(2);
}
// register override method for lookup cust Group
dialogAssetGroupId.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(EA_CascadingUI, lookupCondition), this);
// register override method for modified
dialogAssetGroupId.registerOverrideMethod(methodStr(FormStringControl, modified), methodStr(EA_CascadingUI, custGroupModified), this);
//binding info for customer drop down
dialogAssetId = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(EA_CascadingContract,parmAssetId));
// register override method for lookup customer
dialogAssetId.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(EA_CascadingUI, lookupAssetId), this);
if (dialogAssetId)
{
dialogAssetId.lookupButton(2);
}
}
public void postRun()
{
super();
}