How to list all the members of a group and store them to a local variable to show them in a grid also select multiple members to delete and add the members, using groupmember function?
Discussion posts and replies are publicly visible
You can get a list of all members of a group with the function a!groupMembers(). Then you can use this array to serve as the data basis for a grid. I'm unclear what you mean by "delete and add the members", but you should be able to do various functions all on-form using controls in the grid (like rich text column values with dynamic links perhaps).
Use groupMembers() to retrieve members. Display members in a grid.Add checkboxes for selection. Use removeGroupMembers() to delete selected members. Use addMembersToGroup() to add new members.
So, by delete and add the members means is, after listing all the members in grid, I wants to add/remove multiple members from within the grid.
Thanks,
Can you explain in details how can I use groupMembers(), removeGroupMembers() and addMembersToGroup() using grid
Use a!groupMembers(groupId) to store members in a local variable.Display members and enable selection using a grid with checkboxes.Use a!filter(members, selected) to get selected members for deletion.Loop through selected members and use a!removeGroupMembers(groupId, memberId) to delete each.Use a user picker and a!addMembersToGroup(groupId, userId) to add new members in a loop.Remember, security clearances are required for modifying groups, and error handling is recommended.
To add new members, I'd go with a person picker below the grid where you can select an individual user then a special button nearby which, upon clicking, adds them to the group. I would not attempt to do this "in the grid".
To remove individuals, I'd suggest creating a column with a rich text icon and a dynamic link calling the function a!removeGroupMembers() on the username referenced in that row. You could potentially also enable selection of multiple rows and removing all selected members via a button click, however I'd only go with this approach if the row-by-row solution is *completely* unacceptable.
Hm ... there is no a!filter() function in Appian. And you cannot make multiple calls to a!addMembersToGroup() inside a safeInto.
As this might be confusing to Appian juniors, do you mind refining your answer?
Stefan Helzle said:And you cannot make multiple calls to a!addMembersToGroup() inside a safeInto.
To be fair though, it accepts multiple members, so unless one was trying to do the action for multiple people and multiple groups at the same time, there should be no issue.
Stefan Helzle said:there is no a!filter() function
Yeah i'm also having a hard time translating that one into something that would work on an interface. For a second I thought he might mean to filter on a!groupMembers(), but it doesn't take any filtering parameters.
If you have followup questions, you should stick to your original post (i note some of your replies here seem to have been "spammed" - April Schuppel can anyone look into that?). But there's no need for 3 separate posts on it - at the very least, it makes it confusing for us to keep up-to-date with how far you've gotten, and aside from that, makes the front page needlessly cluttery.
Hey Mike, thanks for pointing this out. We will investigate this matter and address it appropriately.