private void LoadItemData(string keyFilter) { //set ให้ show column ทั้งหมด shtView.Columns[0, shtView.Columns.Count - 1].Visible = true; CustomerBIZ biz = new CustomerBIZ(); CustomerDTO dto = new CustomerDTO(); DataTable dt = null; if (m_searchType == eSearchType.All) { dt = biz.LoadCustomerAll(); shtView.Columns[(int)eColView.CRT_BY].Visible = false; shtView.Columns[(int)eColView.CRT_DATE].Visible = false; shtView.Columns[(int)eColView.CRT_MACHINE].Visible = false; shtView.Columns[(int)eColView.DELIVERY_LT].Visible = false; shtView.Columns[(int)eColView.UPD_BY].Visible = false; shtView.Columns[(int)eColView.UPD_DATE].Visible = false; shtView.Columns[(int)eColView.UPD_MACHINE].Visible = false; shtView.Columns[(int)eColView.CUSTOMER_TYPE].Visible = false; shtView.Columns[(int)eColView.REMARK].Visible = false; shtView.Columns[(int)eColView.IS_ACTIVE].Visible = false; } DataTable dtView = dt.Clone(); if (keyFilter != string.Empty) { string [] colNames = Enum.GetNames(typeof(eColView)); string filterString = string.Empty; for (int i = 0; i < colNames.Length; i++) { filterString += string.Format(@"CONVERT({0},'System.String') LIKE '%{1}%' ", colNames[i], keyFilter); if (i != colNames.Length - 1) { filterString += " OR "; } } //get only the rows you want DataRow [] results = dt.Select(filterString); //populate new destination table foreach (DataRow dr in results) { dtView.ImportRow(dr); } } else { foreach (DataRow dr in dt.Rows) { dtView.ImportRow(dr); } } fpView.DataSource = dtView; }