Customizing ComboBox

I am fairly new to Epicor and definitely new to customizing it. I am attempting to customize a few of the combo box dropdowns in the MES under the various activities menus so they will show the full assembly and operation name. Currently they are being cut off. I am able to customize other features of the box without issue, just not the width of the dropdown. Editing the “Dropdown List” settings doesn’t seem to do anything either. Any tips?

You could try changing the “AutoWidthOption” property in your combos… to TextWidth?

I have tried that unfortunately. It doesn’t affect the dropdown at all. Which is why I am confused. Even changing the “AutoWidthOption” to “ControlWidth” doesn’t change anything. I’m wondering if it is only affect the first column, but if that’s the case I’m not sure how I would adjust the others.

I wonder if something like this might work?

AutoWidthOption: Manual
Col1ManualWidth:… 25
Col2ManualWidth:… 50

I saw this solution somewhere else and I think i must be going blind because I can’t see the actual “Col1ManualWidth” fields.

What kind of combo are you using?

Here is an example for an EpiCombo
image

Well I assumed it was a default Combo. Here’s the customization window. I apologize for my lack of knowledge here.

OK…
Can yo let me know what it says in the property “Type”
Ref screen shot…
image

Not all properties are necessarily displayed (or available) depending on which type.
So depending on the type of control, may need to try setting this with code instead of thru the properties form.

Erp.UI.Controls.Combos.JobOperSearchCombo

OK… now I see it’s a native control.
I glossed over your original mention of “MES”

TBD… if the properties exist for this control
and I’m guessing they do, should be able to modify thru code.
I have to run now but will try to show an example later today

That would be great! I appreciate your time.

In the meantime…
If you have access to EpicWeb or EpicCare, I believe there are answerbook(s) about “native” controls you might find helpful.

Thanks, I’ll check them out

Wonder which form you are working on, and what the version of E10 is?

When I took a quick look at the start prod activity form
all the properties seemed to all listed.

Note example case, I first increased the combo size to 200,20
and then modified the dropdown list settings - ref screen shot
image

resulting display
image

I’m working on the same form. Epicor is on version 10.1.400.27. As shown in earlier screenshots, the dropdown List settings only includes 2 options.

OK, I was able to verify your issue… the property sheet was limited in earlier versions.
Later versions of E10 show the settings you’d want.

So… you’ll be stuck modifying the extended props for this “native” control thru code.
I’ll try to put an example here in a bit.

If you search this site I think you might find some examples of setting props for “native control” too.

We’re planning on updating soon. Just need to do some more testing I believe. So this functionality will likely be available after we update?

Yes, if you can wait until after your upgrade, the customization sheet should include the properties you want to adjust for that control in later versions of E10. Much easier than coding.

Or you are still interested in code, you could do a quick search of this site using terms “GetNativeControlReference” and/or “JobOperSearchCombo”
Here is an example thread - https://epiusers.help/t/e10-adjust-combo-dropdown-width/33948

1 Like

Here is an example that I tested in E10.1.6xxx
Can’t guarantee it will work in your older version though
// First - set the size = 200, 20 on the property sheet for the control
// Then add the following code to your forms StartProdForm_Load
// Reference to cboOperation - Erp.UI.Controls.Combos.JobOperSearchCombo
EpiUltraCombo myCombo = (Ice.Lib.Framework.EpiUltraCombo)csm.GetNativeControlReference(“4469529c-d636-4205-b17a-def6a7469d8f”);
// AutoWidthOption = Manual
myCombo.AutoWidthOption = (AutoWidthOptions)0;
myCombo.Col1ManualWidth = 25;
myCombo.Col2ManualWidth = 55;
myCombo.Col3ManualWidth = 120;
myCombo.Col4ManualWidth = 0;

1 Like