Solved

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

Posted on 2007-04-05
4
210 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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

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

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

809 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