private void LoadScreenList(string LangCD, string keyFilter) { try { ScreenDetailMaintenanceController ctlScreenDetail = new ScreenDetailMaintenanceController(); DataTable dt = (DataTable)ctlScreenDetail.LoadAllDatabyLangCD(LangCD); DataTable dtView = dt.Clone(); if (keyFilter != string.Empty) { //get only the rows you want DataRow[] results = dt.Select(string.Format("SCREEN_CD LIKE '%{0}%' OR ORIGINAL_TITLE LIKE '%{0}%' OR DISPLAY_TITLE LIKE '%{0}%'", keyFilter)); //populate new destination table foreach (DataRow dr in results) { dtView.ImportRow(dr); } } else { foreach (DataRow dr in dt.Rows) { dtView.ImportRow(dr); } } fpScreenList.DataSource = dtView; shtScreenList.Columns[(int)eColScreen.SCREEN_CD].Locked = true; shtScreenList.Columns[(int)eColScreen.ORIGINAL_TITLE].Locked = true; shtScreenList.Columns[(int)eColScreen.DISPLAY_TITLE].Locked = false; } catch (ValidateException err) { for (int i = 0; i < err.ErrorResults.Count; i++) { MessageBox.Show(err.ErrorResults[i].Message.MessageDescription); err.ErrorResults[i].FocusOnControl(); } } catch (BusinessException err) { MessageDialog.ShowBusiness(this, err.Error.Message.MessageDescription); } catch (Exception ex) { MessageDialog.ShowBusiness(this, ex.Message); } }