I have solved it this way but didn't like to fill the arraylist...
There must be a better way to do this. Can you suggest anything?
BosFormSecurityCollection formSec = new BosFormSecurityCollection();
IPredicateExpression filter = new PredicateExpression(BosFormSecurityFields.SecurityGroupId == 2);
formSec.GetMulti(filter);
ArrayList keys = new ArrayList();
for (int i = 0; i < formSec.DefaultView.Count; i++)
{
keys.Add(formSec.DefaultView[i].FormId);
}
BosFormCollection forms = new BosFormCollection();
IPredicateExpression subFilter = new PredicateExpression();
subFilter.Add(new FieldCompareRangePredicate(BosFormFields.FormId, keys));
subFilter.Negate = true;
forms.GetMulti(subFilter);
dataGridView1.DataSource = forms.GetList();