Skip to main content

Hello, 

I manage to create a custom filed and set it to dropdown list but only with static values 
code below : 

dPXDBInt]

PXIntList(new inti] {0, 1, 2, 3}, new stringi] {"North", "East", "South", "West"})]

PXUIField(DisplayName="ListLibre1")]

 

I want to modify the dropdown list values dynamically and directly on the screen.

How it can be done ?

 

Thanks :) 

Hello @SadokHanini 

 

To load the drop-down values dynamically, then we need to use fieldselecting event to load the values dynamically. Please find the example below. 

 


        protected virtual void SOOrder_UsrKNOrderReturnCodes_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e)
        {
            SOOrder row = e.Row as SOOrder;
            if (row != null)
            {
                List<string> allowedValues = new List<string>();

                foreach (KNAMICodes objAMICodes in PXSelect<KNAMICodes, Where<KNAMICodes.codeType, Equal<AMIConstants.ReturnCodes>,
                    And<KNAMICodes.isActive, Equal<True>>>>.Select(Base))
                {
                    allowedValues.Add(objAMICodes.Codecd);
                }
                e.ReturnState = PXStringState.CreateInstance(e.ReturnState, 10, true, typeof(KNAMICodes.codecd).Name, false, -1, string.Empty, allowedValues.ToArray(), allowedValues.ToArray(), false, null);
                ((PXStringState)e.ReturnState).MultiSelect = false;
            }
        }

 

I hope this will help you!!
 


Sadok,

This link also, you can review and verify once.

https://acumatica.programmingpedia.net/en/tutorial/9392/modifying-items-in-a-dropdown-list


 

@Naveen B  This site is not responding


Hi @Deetz URL might be changed, you can the below URL.

https://sodocumentation.net/acumatica/topic/9392/modifying-items-in-a-dropdown-list


@Naveen Boga 

Since you are using allowedValues.ToArray() twice, does that mean that you are setting the value of the selected item in the DDL to the display value for each item?


Reply