back to top

Creating a Multi-Select List in the Infor CRM (Saleslogix) Web Client

I’ve posted previously about how you can change the Dijit control type of the ComboBox to give it different functionality or behavior.

See Creating a Searchable & Filterable ComboBox in Infor CRM

In that post, I showed how to change the ComboBox’s data-dojo-type attribute to change it from a normal ComboBox to a filterable & searchable ComboBox. In this post, we’ll be doing the same to change the ComboBox into a multi-select ListBox.

First of all, in this example, we’ll be populating a ComboBox with teams. The code to load the ComboBox will look like this:

// get all teams
var teams = Sage.Platform.EntityFactory.GetRepository<Sage.Entity.Interfaces.ITeam>().FindAll();
// load into combobox
foreach (var team in teams)
{
    comboTeams.Items.Add(new System.Web.UI.WebControls.ListItem(team.SeccodeDesc, team.Id.ToString()));
}

Up to this point, we have a normal ComboBox where the user can select a single team. It looks like this:

team-combo

Just a normal, single select ComboBox. Now, let’s change that to allow multiple selections. First, we need to change the control’s data-dojo-type to a different type of Dijit control called “dijit.form.MultiSelect“. We’ll also need to adjust the height of the control since we’ll be showing multiple items at once and we need more to be visible. Lastly, we’ll need to tell ASP.NET that our ComboBox does in fact allow multiple selections. In the form’s LoadAction (likely where we are already populating the teams into our ComboBox) we’ll add the following code:

comboTeams.Attributes["data-dojo-type"] = "dijit.form.MultiSelect";
comboTeams.Attributes["style"] = "height:200px;";
comboTeams.SelectionMode = System.Web.UI.WebControls.ListSelectionMode.Multiple;

Now what our form looks like is this:

team-combo-multiselect

That’s a nice change for just a small amount of code. The only thing left is how we retrieve the multi-selected items. We can do that by looping through the items like this:

foreach (System.Web.UI.WebControls.ListItem item in comboTeams.Items)
{
    if (item.Selected)
    {
        var teamName = item.Text;
        var teamId = item.Value;

        // now do whatever you need with the team
    }
}

That’s it, you now have a working multi-select list in Infor CRM without the need for resorting to a custom SmartPart.

Contact Customer FX for your CRM project
We let our expertise speak for itself - let us know how our all-star team can help on your CRM project
About the Author
Ryan Farley
Ryan Farleyhttps://customerfx.com/article/author/ryanfarley/
Ryan Farley is the Director of Development for Customer FX and creator of slxdeveloper.com. He's been blogging regularly about SalesLogix, now Infor CRM, since 2001 and believes in sharing with the community. His new passion for CRM is Creatio, formerly bpm'online. He loves C#, Javascript, web development, open source, and Linux. He also loves his hobby as an amateur filmmaker.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Infor CRM Sync for Exchange: Action Required by August 31, 2026

Using Infor CRM Sync for Exchange with Microsoft 365? Your Exchange administrator must update tenant settings by August 31, 2026 to prevent sync disruption.

[Webinar] What’s Coming Next for Infor CRM SLX and Why v10 Matters

See what’s coming next for Infor CRM SLX, including new marketing workflows, automation improvements, and reasons to consider upgrading to v10.

Disable Caching in Infor CRM SLX Web Client

In the rare case caching is causing issues in the Infor CRM SLX web client, it is possible to disable specific types of caching by making edits using Application Architect, and then deploying.

Exploring AI Options for Infor CRM v10

I've started taking a closer look at the AI capabilities built into Infor CRM v10. Over the next several posts, I'll share what I learn. From the built-in features and supported AI providers to implementation considerations, costs, and practical use cases.

Infor CRM SLX 10.0: Delegate Ownership Changes for “Everyone” Records

Learn how the new EveryoneOwnerAssignment secured action in Infor CRM SLX 10.0 allows designated users to change ownership of Everyone-owned records without requiring Administrator access.

Related Articles

Infor CRM Sync for Exchange: Action Required by August 31, 2026

Using Infor CRM Sync for Exchange with Microsoft 365? Your Exchange administrator must update tenant settings by August 31, 2026 to prevent sync disruption.

[Webinar] What’s Coming Next for Infor CRM SLX and Why v10 Matters

See what’s coming next for Infor CRM SLX, including new marketing workflows, automation improvements, and reasons to consider upgrading to v10.

Disable Caching in Infor CRM SLX Web Client

In the rare case caching is causing issues in the Infor CRM SLX web client, it is possible to disable specific types of caching by making edits using Application Architect, and then deploying.

Exploring AI Options for Infor CRM v10

I've started taking a closer look at the AI capabilities built into Infor CRM v10. Over the next several posts, I'll share what I learn. From the built-in features and supported AI providers to implementation considerations, costs, and practical use cases.

Related Videos