//display the selected package and it's details, setup the available products and suppliers in the combo box private void frmPackageDetail_Load(object sender, EventArgs e) { try { details = PackageDB.GetProductSuppliersByPackage(selectedPackage); dgvPackageDetail.DataSource = details; frmPackage.PackageDetailFormat(dgvPackageDetail); packages = PackageDB.GetAllPackages(); cobPackages.DataSource = packages; cobPackages.DisplayMember = "PkgName"; cobPackages.ValueMember = "PackageId"; cobPackages.SelectedValue = selectedPackage.PackageId; products = ProductDB.GetAllProducts(); cobProducts.DataSource = products; cobProducts.DisplayMember = "ProdName"; cobProducts.ValueMember = "ProductId"; int id; bool parseOK = Int32.TryParse(cobProducts.SelectedValue.ToString(), out id); Product p = ProductDB.GetProductById(id); suppliers = PackageDB.GetSuppliersByProductNotInDetails(p, selectedPackage); cobSuppliers.DataSource = suppliers; cobSuppliers.DisplayMember = "SupName"; cobSuppliers.ValueMember = "SupplierId"; cobPackages.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } }
//update the datasource for each control, the sullier list is adjusted so that user would not insert duplicate data private void UpdateBinding() { dgvPackageDetail.DataSource = details; int id; bool parseOK = Int32.TryParse(cobProducts.SelectedValue.ToString(), out id); Product p = ProductDB.GetProductById(id); suppliers = PackageDB.GetSuppliersByProductNotInDetails(p, selectedPackage); if (suppliers.Count == 0) { cobSuppliers.Enabled = false; cobSuppliers.Text = ""; btnAdd.Enabled = false; } else { cobSuppliers.Enabled = true; cobSuppliers.DataSource = suppliers; btnAdd.Enabled = true; } }