بایندینگ سورس را به دیتاتیبل متصل نکردید. به صورت زیر عمل کنید
private void BindGrid()
{
//پر کردن دیتاگرید
DataTable dt = new DataTable();
SqlDataAdapter dal1 = new SqlDataAdapter("SELECT * from TBL2 union SELECT * from TBL1", _con);
dal1.Fill(dt);
dataGridView1.AutoGenerateColumns = false;
_bindingSource1.DataSource = dt;
dataGridView1.DataSource = _bindingSource1;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
dataGridView1.Rows[i].Cells[0].Value = i + 1;
}
}
در رویداد تغییر کمبوباکس، اگر از Text استفاده کنید مقدار قبلی را به شما خواهد داد. برای بدست آوردن مقدار جدید از SelectedText یا پراپرتیهای مشابه استفاده کنید
private void CMBBank_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid();
_bindingSource1.Filter = string.Format("bank LIKE '%{0}%'", CMBBank.SelectedText);
Sumdvg();
}