Hi everyone,
many threads concerning correct handling of CFL, but I couldn't find a solution for my problem.
1.) I select an employee (object ID 171) ... this works fine, though the event for this CFL is triggered twice. But at least the next EditText can be reached with Tab key.
Here is a sample of my CFL event handling:
if (pVal.ItemUID == "tbxEmpNo" && pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST && pVal.BeforeAction == false) { SAPbouiCOM.IChooseFromListEvent oCFLEvent = (SAPbouiCOM.IChooseFromListEvent)pVal; if (oCFLEvent.BeforeAction == false && oCFLEvent.ChooseFromListUID == "CFLEMP") { try { oForm = oSBOapp.Forms.GetForm("MyForm", 1); oDataTable = oCFLEvent.SelectedObjects; oForm.DataSources.UserDataSources.Item("cflEMP").ValueEx = Convert.ToString(oDataTable.GetValue("ExtEmpNo", 0)); //oItem = oForm.Items.Item("tbxPwd"); //oItem.Click(SAPbouiCOM.BoCellClickType.ct_Regular); } catch { } }
2.) After an employee is selected, two grids are filled and some other EditTexts with CFL can be filled then. The eventhandling for those is almost similar to my example above. The problem is, that after choosing a value from CFL either by directly entering the value or by choosing it from the list, pressing the Tab key has no impact (except triggering the event again without opening the CFL). When I click into another field, the tab key works normal again.
No error occurs (catch block is never executed..)
As you can see in the last two lines of the try block, I have used a workaround by simulating a click on the next field. But I think there has to be a better solution?
Thanks
Sebastian