Amey Banaye
Amey Banaye

Reputation: 57

Why am I not getting actual selected values in combobox?

I have two combo boxes cmbfrom and cmbdest..

The code for retrieving data from SQL database and setting it into combobox values is this:

databaseserver ser = new databaseserver();
SqlConnection con = new SqlConnection(ser.dbserver + "Initial Catalog=AirlinesDB;Integrated Security=True");
con.Open(); 
SqlDataAdapter citiesadp = new SqlDataAdapter("select city from cities",con);
DataSet dset = new DataSet(); //Creating instance of DataSet
citiesadp.Fill(dset,"cities");
cmbfrom.DataSource = dset.Tables["cities"];
cmbfrom.DisplayMember = "city";
con.Close();

SqlConnection con1 = new SqlConnection(ser.dbserver + "Initial Catalog=AirlinesDB;Integrated Security=True");
con1.Open();
SqlDataAdapter destcity = new SqlDataAdapter("select city from cities",con1);
DataSet destset = new DataSet();
destcity.Fill(destset,"cities");
cmbdest.DataSource = destset.Tables["cities"];
cmbdest.DisplayMember = "city";
con1.Close();

But when I select a value in cmbdest, it returns me System.Data.DataRowView, instead of the actual value.

The code for retrieving selected values from comboboxes is the following:

textBox1.Text = cmbdest.SelectedValue.ToString();
textBox2.Text = cmbfrom.SelectedValue.ToString();

I get the actual value from first combo that is the selected city name, but the second one gets the value: System.Data.DataRowView.

Upvotes: 0

Views: 105

Answers (2)

Abdur Rahim
Abdur Rahim

Reputation: 4021

Please try this code below:

    databaseserver ser = new databaseserver();
    SqlConnection con = new SqlConnection(ser.dbserver + "Initial Catalog=AirlinesDB;Integrated Security=True");
    con.Open(); 
    SqlDataAdapter citiesadp = new SqlDataAdapter("select city from cities",con);
    DataSet dset = new DataSet(); //Creating instance of DataSet
    citiesadp.Fill(dset,"cities");
    cmbfrom.DataSource = dset.Tables["cities"];
    cmbfrom.DisplayMember = "city";
    cmbfrom..ValueMember= "city";

    con.Close();

    SqlConnection con1 = new SqlConnection(ser.dbserver + "Initial Catalog=AirlinesDB;Integrated Security=True");
    con1.Open();
    SqlDataAdapter destcity = new SqlDataAdapter("select city from cities",con1);
    DataSet destset = new DataSet();
    destcity.Fill(destset,"cities");
    cmbdest.DataSource = destset.Tables["cities"];
    cmbdest.DisplayMember = "city";
    cmbdest..ValueMember= "city";
    con1.Close();

Upvotes: 0

mbrb
mbrb

Reputation: 403

You should first set the property ValueMember for the cmbfrom

Upvotes: 1

Related Questions