Hello everybody. How to catch mutations both in DataGridViewAutoFilter? The fact is, after the mutations both filter, slipping all datagridview settings, and if I update datagridview filter also strays, what to do? Google translate = (
public void update_orders(string whereOrders)
{
try
{
string notPlanned = "";
string fact_plan = "";
if (cb_notPlanned.SelectedIndex == 1)
{
notPlanned = "and orders.order_number not in (select id_order from action where id_order = orders.order_number)";
}
else if (cb_notPlanned.SelectedIndex == 2)
{
notPlanned = "and orders.order_number in (select id_order from action where id_order = orders.order_number)";
}
else if (cb_notPlanned.SelectedIndex == 3)
{
notPlanned = "and shift.shiftcode = '"+GlobalVariable.sh+"'";
}
else
{
notPlanned = "";
}
if (cb_order_fact.SelectedIndex == 1)
fact_plan = "and orders.orderStatus = '1'";
else if (cb_order_fact.SelectedIndex == 2)
fact_plan = "and orders.orderStatus = '0'";
else
fact_plan = "";
if (txt_search_order.Text.ToString().Length > 1 && GlobalVariable.nameColumn.ToString().Length > 2)
whereOrders =" and " + GlobalVariable.nameColumn + " LIKE N'%" + txt_search_order.Text + "%'";
cn.Open();
BindingSource bs = new BindingSource();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds.Tables.Add(dt);
SqlDataAdapter da = new SqlDataAdapter();
da = new SqlDataAdapter("SELECT * FROM orders WHERE orders.datework = '" + GlobalVariable.general_date + "' " + notPlanned + " " + whereOrders + ""+ fact_plan +" order by cast(address as int)", cn);
da.Fill(dt);
bs.DataSource = dt;
gridOrder.DataSource = bs;
cn.Close();
DataGridViewColumn cityName = gridOrder.Columns["cityName"];
cityName.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(cityName.HeaderCell);
DataGridViewColumn shopCode = gridOrder.Columns["addressDataGridViewTextBoxColumn1"];
shopCode.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(shopCode.HeaderCell);
DataGridViewColumn productCode = gridOrder.Columns["productNameDataGridViewTextBoxColumn1"];
productCode.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(productCode.HeaderCell);
gridOrder.ClearSelection();
int index = GlobalVariable.index_order;
try
{
if (index < gridOrder.Rows.Count)
{
gridOrder.Rows[index].Selected = true;
}
else
{
gridOrder.Rows[gridOrder.Rows.Count - 1].Selected = true;
}
gridOrder.FirstDisplayedScrollingRowIndex = index;
}
catch { }
}
catch (Exception ex)
{
MessageBox.Show("Error\n update_orders" + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
for (int i = 0; i < gridOrder.RowCount; i++)
{
string count_symbol = Convert.ToString(gridOrder.Rows[i].Cells["truckDataGridViewTextBoxColumn1"].Value);
if (count_symbol.Length > 4)
gridOrder.Rows[i].DefaultCellStyle.BackColor = Color.GreenYellow;
if (Convert.ToInt32(gridOrder.Rows[i].Cells["orderStatus"].Value) == 1)
gridOrder.Rows[i].DefaultCellStyle.BackColor = Color.Orange;
}
}
public void update_orders(string whereOrders)
{
try
{
string notPlanned = "";
string fact_plan = "";
if (cb_notPlanned.SelectedIndex == 1)
{
notPlanned = "and orders.order_number not in (select id_order from action where id_order = orders.order_number)";
}
else if (cb_notPlanned.SelectedIndex == 2)
{
notPlanned = "and orders.order_number in (select id_order from action where id_order = orders.order_number)";
}
else if (cb_notPlanned.SelectedIndex == 3)
{
notPlanned = "and shift.shiftcode = '"+GlobalVariable.sh+"'";
}
else
{
notPlanned = "";
}
if (cb_order_fact.SelectedIndex == 1)
fact_plan = "and orders.orderStatus = '1'";
else if (cb_order_fact.SelectedIndex == 2)
fact_plan = "and orders.orderStatus = '0'";
else
fact_plan = "";
if (txt_search_order.Text.ToString().Length > 1 && GlobalVariable.nameColumn.ToString().Length > 2)
whereOrders =" and " + GlobalVariable.nameColumn + " LIKE N'%" + txt_search_order.Text + "%'";
cn.Open();
BindingSource bs = new BindingSource();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds.Tables.Add(dt);
SqlDataAdapter da = new SqlDataAdapter();
da = new SqlDataAdapter("SELECT * FROM orders WHERE orders.datework = '" + GlobalVariable.general_date + "' " + notPlanned + " " + whereOrders + ""+ fact_plan +" order by cast(address as int)", cn);
da.Fill(dt);
bs.DataSource = dt;
gridOrder.DataSource = bs;
cn.Close();
DataGridViewColumn cityName = gridOrder.Columns["cityName"];
cityName.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(cityName.HeaderCell);
DataGridViewColumn shopCode = gridOrder.Columns["addressDataGridViewTextBoxColumn1"];
shopCode.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(shopCode.HeaderCell);
DataGridViewColumn productCode = gridOrder.Columns["productNameDataGridViewTextBoxColumn1"];
productCode.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(productCode.HeaderCell);
gridOrder.ClearSelection();
int index = GlobalVariable.index_order;
try
{
if (index < gridOrder.Rows.Count)
{
gridOrder.Rows[index].Selected = true;
}
else
{
gridOrder.Rows[gridOrder.Rows.Count - 1].Selected = true;
}
gridOrder.FirstDisplayedScrollingRowIndex = index;
}
catch { }
}
catch (Exception ex)
{
MessageBox.Show("Error\n update_orders" + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
for (int i = 0; i < gridOrder.RowCount; i++)
{
string count_symbol = Convert.ToString(gridOrder.Rows[i].Cells["truckDataGridViewTextBoxColumn1"].Value);
if (count_symbol.Length > 4)
gridOrder.Rows[i].DefaultCellStyle.BackColor = Color.GreenYellow;
if (Convert.ToInt32(gridOrder.Rows[i].Cells["orderStatus"].Value) == 1)
gridOrder.Rows[i].DefaultCellStyle.BackColor = Color.Orange;
}
}