Well, I found a workaround that seems to accomplishing what I want (though it is a little less than elegant):
private void BindList()
{
//Get all users
ArrayList ar = UserController.GetUsers(PortalId);
//rc.GetRolesByUser()
//New arraylist to hold the users that
//are identified
ArrayList newAr = new ArrayList();
//Loop through users to check role membership
foreach (object o in ar)
{
//lblRoleName.Text holds the name of the selected role
//Example: Administrators
//if (!((UserInfo) o).IsInRole(lblRoleName.Text))
//{
// //If not a member of the role, add them to the list
// newAr.Add(o);
//}
string[] roles = rc.GetRolesByUser(((UserInfo) o).UserID, PortalId);
bool NotInRole = true;
foreach (string s in roles)
{
if(s == lblRoleName.Text)
{
NotInRole = false;
break;
}
}
//If not a member of the role, add them to the list
if (NotInRole)
newAr.Add(o);
}
//Bind list of users not in role
GridView1.DataSource = newAr;
GridView1.DataBind();
}