Solved

How Do I Get the Currently Selected Item Value from a Bound ComboBox?

Posted on 2007-04-05
4
209 Views
Last Modified: 2010-04-15
I am trying to retrieve the value of a selected item in a combo box, and convert it into an integer. The problem is that the combo box in question is bound to a DataTable. the conversion below doesn't work, because cboDept.SelectedItem is of type System.Data.DataView.Row.

How do I get the actual value of the currently selected item?

Convert.ToInt32(cboDept.SelectedItem)
0
Comment
Question by:marmaxx
  • 2
4 Comments
 
LVL 5

Expert Comment

by:Yttribium
ID: 18860143
This is  a quick demo I did, to test your question:
From what I see here, you need to reference your "Row" by column:  Hence maybe
Convert.ToInt32(cboDept["column1"].SelectedItem);
If this doesn't help, perhaps look at my sample code below.

If it's a Row type, (I didn't see a row type, only a row collection in my DataView example, but it would be the same) Have a look, see what you can get from this:
                  System.Data.DataView dv = new System.Data.DataView();
                  dv.Table = new DataTable("Data");
                  dv.Table.Columns.Add("col1");
                  dv.Table.Columns.Add("col2");
                  dv.Table.Columns.Add("col3");
                  dv.Table.Rows.Add(new object[] {1,2,3});
                  int i = 5;
                  int a = i + Convert.ToInt32(dv.Table.Rows[0]["col1"]);
                  MessageBox.Show(a.ToString());

The output should be "6".

Let me know if there are problems
0
 
LVL 5

Accepted Solution

by:
Yttribium earned 500 total points
ID: 18860152
*Typo:

Convert.ToInt32(cboDept.SelectedItem["column1"]); not
     -> Convert.ToInt32(cboDept["column1"].SelectedItem);
Sorry about that.

0
 
LVL 1

Expert Comment

by:rgavrilov
ID: 18860334
1. Can you use 'this.comboBox1.Text' instead?
2. Or you can choose a particular column (the same as shown in the combo box, by looking up DispalyMember) of the selected row:
            DataRowView item = (DataRowView) this.comboBox1.SelectedItem;
            string value = (string) item[this.comboBox1.DisplayMember];

0
 
LVL 11

Expert Comment

by:Mihai Stancescu
ID: 18863087
Try cboDept.SelectedValue. This property returns an object value wich you can convert it to what type you need, or the type that is stored in the datatable or dataset.


Hope this helps!

Regards,
Mishu
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now