public void SetLocation(FactLocation loc, int level) { this.Text = "Individuals & Families with connection to " + loc.ToString(); level = Math.Min(loc.Level, level); // if location level isn't as detailed as level on tab use location level IEnumerable <Individual> listInd = ft.GetIndividualsAtLocation(loc, level); SortableBindingList <IDisplayIndividual> dsInd = new SortableBindingList <IDisplayIndividual>(); foreach (Individual i in listInd) { dsInd.Add(i); } dgIndividuals.DataSource = dsInd; SortIndividuals(); IEnumerable <Family> listFam = ft.GetFamiliesAtLocation(loc, level); SortableBindingList <IDisplayFamily> dsFam = new SortableBindingList <IDisplayFamily>(); foreach (Family f in listFam) { dsFam.Add(f); } dgFamilies.DataSource = dsFam; SortFamilies(); splitContainer.Panel2Collapsed = false; UpdateStatusCount(); }