private void BindGridViewDepartment(string search) { FiltersModel fm = Session["FiltersModel"] as FiltersModel; List<ViewDepartment> _View = new List<ViewDepartment>(); List<ViewDepartment> _TempView = new List<ViewDepartment>(); User LoggedInUser = HttpContext.Current.Session["LoggedUser"] as User; QueryBuilder qb = new QueryBuilder(); string query = qb.QueryForCompanyView(LoggedInUser); DataTable dt = qb.GetValuesfromDB("select * from ViewDepartment " + query); _View = dt.ToList<ViewDepartment>(); if (fm.CompanyFilter.Count > 0) { foreach (var comp in fm.CompanyFilter) { short _compID = Convert.ToInt16(comp.ID); _TempView.AddRange(_View.Where(aa => aa.CompID == _compID).ToList()); } _View = _TempView.ToList(); } if (fm.DivisionFilter.Count > 0) { _TempView.Clear(); foreach (var div in fm.DivisionFilter) { short _divID = Convert.ToInt16(div.ID); _TempView.AddRange(_View.Where(aa => aa.DivID == _divID).ToList()); } _View = _TempView.ToList(); } GridViewDepartment.DataSource = _View.Where(aa => aa.DeptName.ToUpper().Contains(search.ToUpper())).ToList(); GridViewDepartment.DataBind(); }