OK, I know windows forms are viewed as ancient technology by many, but my company still uses windows forms for harnesses to test things sometimes. It has been awhile since I used windows forms, so I ran into a slight issue in using windows forms combo boxes.
Firstly, the data binding is done slightly differently, as the combo boxes can also be bound easily to objects as well as a traditional say SQL data source. Example of it being done in code behind on a form.
/* I got my datatable the traditional with a query to the database using a SqlDataAdapter */
mycombobox.DataSource = myDataTable;
mycombobox.DisplayMember = "description"; // your description field from your dataset
mycombobox.ValueMember = "value"; // your key field from your dataset
Slightly different mark up than the web. Also note there is no databind() needed.
Second, getting the selected value of that combo box has a non-obvious (to me anyways) way of getting it. I ended up with something like this-
string selectedvalue = ((DataRowView)mycombobox.SelectedItem).Row["value"].ToString(); //value = ValueMember
The having to cast the SelectedItem as a DataRowView makes sense when you think about it, but not something that just jumped out at me at first.
So, I hope that helps someone (including me next time I fire up an ancient windows form project).
This threat was helpful on getting the selected value http://www.xtremedotnettalk.com/showthread.php?t=93882
No comments:
Post a Comment