private void c1Combo1_SelectedValueChanged(object sender, EventArgs e) { if (txMode == DataEntryModes.Add) { try { // prevent redraw _grid.Redraw = false; // get data dsCore ds = new dsCore(); OrdersTableAdapter od = new OrdersTableAdapter(); ds.EnforceConstraints = false; od.Connection = AppHelper.GetDbConnection(); od.FillOutstandingPurchaseInvoice(ds.Orders, (int)c1Combo1.SelectedValue); // clear grid dsCore1.OrderDetails.Clear(); // fill grid with new data DataRowView dv = (DataRowView)this.BindingContext[dsCore1, "Orders"].Current; foreach (dsCore.OrdersRow src in ds.Orders.Rows) { dsCore.OrderDetailsRow row = dsCore1.OrderDetails.NewOrderDetailsRow(); row.OrderID = (int)dv["ID"]; row.ReferenceID = src.ID; row.ReferenceNo = src.OrderNo; row.ReferenceDate = src.OrderDate; row.ReferenceValue = src.OutstandingValue; row.UnitPrice = src.OutstandingValue; row.Quantity = 1; row.TaxPct = 0; row.Remarks = src.Remarks; dsCore1.OrderDetails.AddOrderDetailsRow(row); } // recalculate CountDetails(); // redraw grid _grid.Redraw = true; _grid.Refresh(); } catch (Exception ex) { // textfile logging Logger.ErrorRoutine(ex); // screen logging RibbonMessageBox.Show("ERROR Retrieving Detail Data: \n" + ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }