Gustav Brock
Gustav at cactus.dk
Mon Mar 14 14:02:27 CDT 2011
Hi John If you (typically) have this in InitializeComponent() of the .Designer.cs file: // comboBoxCountry // this.comboBoxCountry.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; this.comboBoxCountry.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; this.comboBoxCountry.BackColor = System.Drawing.Color.LavenderBlush; this.comboBoxCountry.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.mediaBindingSource, "CountryId", true)); this.comboBoxCountry.DisplayMember = "Id"; this.comboBoxCountry.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.comboBoxCountry.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxCountry.ForeColor = System.Drawing.Color.DarkMagenta; this.comboBoxCountry.FormattingEnabled = true; this.comboBoxCountry.ItemHeight = 13; this.comboBoxCountry.Location = new System.Drawing.Point(21, 136); this.comboBoxCountry.Name = "comboBoxCountry"; this.comboBoxCountry.Size = new System.Drawing.Size(117, 21); this.comboBoxCountry.Sorted = true; this.comboBoxCountry.TabIndex = 7; this.comboBoxCountry.ValueMember = "Id"; You can do something like this in the Load event: this.comboBoxCountry.SelectedValueChanged += (oo, ee) => ChangeCountrySelection(); Then: private void FillComboBoxCountryCode() { // Order the country names of countryDataTable. string filterExpression = ""; string sortExpression = "CountryNameUK asc"; DataRow[] countryList = _countryDataTable.Select(filterExpression, sortExpression); this.comboBoxCountry.DataSource = countryList; this.comboBoxCountry.ValueMember = "Id"; this.comboBoxCountry.DisplayMember = "CountryNameUK"; } And: private void ChangeCountrySelection() { if (this.comboBoxCountry.SelectedValue != null) { _countryId = Convert.ToInt32(this.comboBoxCountry.SelectedValue); this.comboBoxPostalCode.Text = String.Empty; // Read postal codes of selected country. FillComboBoxPostalCode(); } } This is pretty standard using tableadapters and bindingnavigator. Nothing fancy. /gustav >>> jwcolby at colbyconsulting.com 14-03-2011 19:16 >>> I am trying to set up a combo box bound to a field in the form such that the combo populates with the PKID and a text field, and when the form opens, selecting something from the combo drops the PKID into the field in the form. I am not getting what to set the properties of the combo box to. I am pulling the ID and the string to display into the combo but I cannot cause the combo to store the id and release control to the next control on the form. -- John W. Colby www.ColbyConsulting.com