Binding Data
Rather than iterating through the table and loading each record individually, you can bind the ListBox control to the database table. In general, data binding lets you create a relationship between a control (such as a ListBox) and a source of data (such as a DataSet whose backing store is SQL Server).
Virtually any object can act as a data source, including such simple sources as properties, expressions, or the result of a method call, and such complex sources as arrays, collections, and DataSets. For controls that display a collection, such as a listbox or a DataGrid, you must bind to a source that implements one of the binding interfaces such as ICollection, IBindingList, or IListSource. This allows the control to iterate over the collection and display each member in turn.
For example, you can modify the previous examples to remove the foreach loop:
// for each row in the table, display the info
foreach (DataRow dataRow in dataTable.Rows)
{
lbBugs.Items.Add(
dataRow["BugID"] +
": " + dataRow["Description"] );
}and replace it with these two statements:
lbBugs.DataSource= dataTable; lbBugs.DisplayMember = "Description";
The first statement instructs the control to bind to a dataTable and populate itself based on that table's data. The second sets the DisplayMember property, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access