PM Data Item LOV Done in IFS10 [PM_DataItemLovDone]
- Rumesh Aponso (RMAX)
- Nov 27, 2024
- 1 min read
#region Methods
public SalString GetFieldValueFromLovStr(SalString lsLOV, SalString sSearchField)
{
#region Local Variables
SalArray<SalString> sRecords = new SalArray<SalString>();
SalArray<SalString> sUnits = new SalArray<SalString>();
SalNumber nIdx = 0;
#endregion
#region Actions
using (new SalContext(this))
{
// Split LOV string into field+value records (Records)
lsLOV.Tokenize("", ((SalNumber)Ifs.Fnd.ApplicationForms.Const.CHAR_RS).ToCharacter(), sRecords);
nIdx = 0;
while (sRecords[nIdx] != SalString.Null)
{
// Split a single field+value string record into 2 separate records of field name and field value (Units)
sRecords[nIdx].Tokenize("", ((SalNumber)Ifs.Fnd.ApplicationForms.Const.CHAR_US).ToCharacter(), sUnits);
if (sUnits[0] == sSearchField)
{
return sUnits[1];
}
nIdx = nIdx + 1;
}
return SalString.Null;
}
#endregion
}
#endregion
#region Window Actions
private void cChildTableDetail_colsActivityId_WindowActions(object sender, WindowActionsEventArgs e)
{
switch (e.ActionType)
{
case Ifs.Fnd.ApplicationForms.Const.PM_DataItemLovDone:
this.cChildTableDetail_colsActivityId_OnPM_DataItemLovDone(sender, e);
break;
}
}
private void cChildTableDetail_colsActivityId_OnPM_DataItemLovDone(object sender, WindowActionsEventArgs e)
{
#region Actions
e.Handled = true;
this.cChildTableDetail_colsSubProjectId.EditDataItemValueSet(1, GetFieldValueFromLovStr(SalString.FromHandle(Sys.lParam), "SUB_PROJECT_ID").ToHandle());
this.cChildTableDetail_colsActivityId.EditDataItemValueSet(1, this.GetFieldValueFromLovStr(SalString.FromHandle(Sys.lParam), "ACTIVITY_NO").ToHandle());
this.cChildTableDetail_colnActivitySeq.EditDataItemValueSet(1, this.GetFieldValueFromLovStr(SalString.FromHandle(Sys.lParam), "ACTIVITY_SEQ").ToHandle());
#endregion
}
#endregion
Comments