Hi!
The bad new is that although you can set Axure’s listbox to allow for multiple selection, Axure offers no ability to get the chosen items. You can only get the chosen item when the listbox is in single-select mode.
Which means you’ll need to construct your own, fake listbox, which is pretty straightforward: create selected styles for each widget representing a list item, toggle selection on click.
One advantage is that the user won’t have know to hold down shift or control to multi-select.
But the big advantage in this case is that each line item in your fake listbox will be its own widget, for each widget you can have a dedicated column in the repeater’s dataset.
So, assuming this fake listbox is in the repeater…
On Click or Tap (of widget "role1" in fake listbox)
If true
Toggle selected of this
If selected of this equals true
Update rows set column "role1" to true for This
Else if
Update rows set column "role1" to false for This
(You would do this for each widget in the fake listbox.
And finally…
On Item Loaded
If [[Item.role1]] equals true
Select widget role1
If [[Item.role2]] equals true
Select widget role2
…etc. You won’t have to test the false case, because if you did not select them when you created the repeater row, they’ll stay that way unless you change them in OnItemLoaded.