private void filterData() { dgvTrf.DataSource = null; string keyword = txtSearch.Text; if (keyword == null) { dt_TrfHist = dalTrfHist.Select(); } else { dt_TrfHist = dalTrfHist.SearchIncludeID(keyword); } dt_TrfData = NewTrfHistTable(); DataRow row_TrfData; DateTime startDate = Convert.ToDateTime(dtpStartDate.Value).Date; DateTime endDate = Convert.ToDateTime(dtpEndDate.Value).Date; bool periodWanted = false, fromWanted = false, toWanted = false, catWanted = false; foreach (DataRow row in dt_TrfHist.Rows) { DateTime date; string result = row[dalTrfHist.TrfResult].ToString(); if (result == "Passed") { if (cbTransferType.Checked) { date = Convert.ToDateTime(row[dalTrfHist.TrfDate]).Date; } else { date = Convert.ToDateTime(row[dalTrfHist.TrfAddedDate]).Date; } //Filter Date if (date <= endDate && date >= startDate) { periodWanted = true; } else { periodWanted = false; } //Filter Location From if (cmbTrfFromCategory.SelectedIndex == -1) { fromWanted = true; } else { string from = row[dalTrfHist.TrfFrom].ToString(); if (from.Equals(cmbTrfFromCategory.Text) || from.Equals(cmbTrfFrom.Text)) { fromWanted = true; } else { fromWanted = false; } } //Filter Location To if (cmbTrfToCategory.SelectedIndex == -1) { toWanted = true; } else { string to = row[dalTrfHist.TrfTo].ToString(); if (to.Equals(cmbTrfToCategory.Text) || to.Equals(cmbTrfTo.Text)) { toWanted = true; } else { toWanted = false; } } //Filter Category if (cmbTrfItemCat.SelectedIndex == -1 || cmbTrfItemCat.Text.Equals("All")) { catWanted = true; } else { string cat = row[dalTrfHist.TrfItemCat].ToString(); if (cat.Equals(cmbTrfItemCat.Text)) { catWanted = true; } else { catWanted = false; } } //Save data wanted if (periodWanted && fromWanted && toWanted && catWanted) { row_TrfData = dt_TrfData.NewRow(); row_TrfData[headerID] = row[dalTrfHist.TrfID]; row_TrfData[headerAddedDate] = row[dalTrfHist.TrfAddedDate]; row_TrfData[headerTrfDate] = Convert.ToDateTime(row[dalTrfHist.TrfDate]).Date; row_TrfData[headerCode] = row[dalTrfHist.TrfItemCode]; row_TrfData[headerName] = row[dalTrfHist.TrfItemName]; row_TrfData[headerFrom] = row[dalTrfHist.TrfFrom]; row_TrfData[headerTo] = row[dalTrfHist.TrfTo]; row_TrfData[headerQty] = row[dalTrfHist.TrfQty]; row_TrfData[headerUnit] = row[dalTrfHist.TrfUnit]; row_TrfData[headerNote] = row[dalTrfHist.TrfNote]; row_TrfData[headerResult] = row[dalTrfHist.TrfResult]; dt_TrfData.Rows.Add(row_TrfData); periodWanted = false; fromWanted = false; toWanted = false; catWanted = false; } } } if (dt_TrfData.Rows.Count > 0) { //dgvNewStock.AlternatingRowsDefaultCellStyle.BackColor = Color.White; if (cbTransferType.Checked) { dt_TrfData.DefaultView.Sort = headerTrfDate + " DESC"; } else { dt_TrfData.DefaultView.Sort = headerAddedDate + " DESC"; } dgvTrf.DataSource = dt_TrfData; dgvTrfUIEdit(dgvTrf); dgvTrf.ClearSelection(); } else { MessageBox.Show("No data found!"); } }