I have loaded data from the database to the dataset named myDS. myDS contains several tables. Then I bound one of those tables (named Inventory) into the datagridview named dataGridViewInventory and everything worked fine.
However, when I tried to search in the Inventory table and the result bound to the datagridview dataGridViewInventory but it appeared empty.
Here is the code of searching and binding:
DataRow[] filteredRows =
myDS.Tables["Inventory"].Select(string.Format("Make LIKE '%{0}%'", txtMake.Text.Trim()));
DataSet tempTaskDS = new DataSet("tempCars");
//tempTaskDS.Tables.Add("TempInv");
DataTable DataTable2 = new DataTable("TempInv");
// This makes the new DataTable have the same columns as the existing DataTable.
DataTable2 = myDS.Tables["Inventory"].Clone();
foreach (DataRow r in filteredRows)
{
DataTable2.ImportRow(r);
}
tempTaskDS.Tables.Add(DataTable2);
dataGridViewInventory.DataSource = tempTaskDS.Tables["TempInv"];
Can anyone tell me what I have gone wrong, please?
Found solution:
DO not need to use a temporary dataset, just use the BindingSource and bind the datatable to it, then bind the BindingSource to the datagridview. The code is below: