Built with v10.
This solution demonstrates how to populate ComboBoxes using a data table.
Download the Solution Example:
Solution file: ComboBoxFromTable.dbsln
Database file: ComboBoxFromTable.db
Summary
This solution demonstrates how to populate ComboBoxes using a data table.
Technical Information
This example shows 2 options for populating a ComboBox.
Option 1: Adding the items in the CodeBehind
Option 2: Assigning a Tag to the ComboBox Items Source.
The easiest option is the second one, mapping tags directly to the Items Source, and to Selected Value, so no code is required. Open the example to see this configuration.
When using the CodeBehind, follow these steps:
1) Get The ComboBox form the displays
ComboBox cbxListCodes; public void DisplayOpening() { cbxListCodes = CurrentDisplay.GetControl("cbxListCodes") as ComboBox; }
2) After that, you need to load your data table. In this example, we will retrieve the entire table asynchronously.
// Selects the whole table @Dataset.Table.Products.WhereCondition = ""; DataTable dt = await @Dataset.Table.Products.SelectCommandAsync();
3) Next, you can use a simple foreach loop to select which rows to add to the ComboBox, as shown in the code snippet below.
// Inserts each row to the combobox foreach (DataRow row in dt.Rows) { cbxListCodes.Items.Add(row["ListCode"]); }
4) Now, using an EventHandler, you can determine the value selected by the client from the ComboBox.
cbxListCodes.SelectionChanged += new SelectionChangedEventHandler(codeChanged); public void codeChanged(object sender, SelectionChangedEventArgs args) { string selectValue = (sender as ComboBox).SelectedValue; // you code }
Reference Information
→ See Displays (Desktop and Web) for more information.
→ See ComboBox Control for more information.
→ See Datasets Tables for more information.
In this section: