private void cbOrderID_SelectedIndexChanged(object sender, EventArgs e)
{
dataGridView1.DataSource = null;
int OrderID = int.Parse(cbOrderID.SelectedValue.ToString());
DataRow drOrders = dtsOrders.tblOrders.FindByOrderID(OrderID);
dataGridView1.DataSource = drOrders;
}
Я предполагаю, что вы используете TableAdapter
для заполнения DataGridView
.
. Пожалуйста, попробуйте .Fill
их отфильтрованной таблицей.
private void cbOrderID_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbOrderID.SelectedValue != null){
int OrderID = int.Parse(cbOrderID.SelectedValue.ToString());
TAOrders.Fill(dtsOrders.tblOrders.FindByOrderID(OrderID));
}
}
Возможно, у вас есть другие .Fill()
Функции для этого TableAdapter.
Другой метод
Попробуйте .DefaultView.RowFilter
, это отфильтровывает без запроса источника данных. StackOverflow - Фильтрация DataGridView без изменения источника данных
(dataGridViewFields.DataSource as DataTable).DefaultView.RowFilter = string.Format("Field = '{0}'", textBoxFilter.Text);