private void SelectLabFees(ref ODGrid grid) { List <long> listSelectedProcNums = grid.SelectedTags <Procedure>().Select(x => x.ProcNum).ToList(); listSelectedProcNums.AddRange(grid.SelectedTags <Procedure>().Where(x => x.ProcNumLab > 0).Select(x => x.ProcNumLab).ToList()); //Go through the entire grid and select any procedures that have a ProcNum that matches selected ProcNums or ProcNumLabs. List <Procedure> listAllProcs = grid.GetTags <Procedure>(); for (int i = 0; i < listAllProcs.Count; i++) { if (listAllProcs[i].ProcNum.In(listSelectedProcNums) || listAllProcs[i].ProcNumLab.In(listSelectedProcNums)) { grid.SetSelected(i, true); //Either a selected procedure or one of the labs associated to a selected procedure. } } }