954,141 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

populate two dropdownlist

hi
i want to populate country's name in 1st dropdownlist and their states should be placed in the 2nd dropdownlist, if we select any state it should place the name of the capital in the textbox besides that and so on.....
If possible send me code

thank you in advance
raghu

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

Simply write an event handler on the SelectedIndex change of the combobox to adjust the item for the second. On the second, have another event handler that sets the textbox value. You can populate a Combo using objects that contain the matching information to go into the text box.
Is this a homework assignment ?

JerryShaw
Posting Pro in Training
465 posts since Nov 2006
Reputation Points: 69
Solved Threads: 75
 

thank you or ypur advice
but i am developing web application using C#,just look at my code which is giving error message...

if (Page.IsPostBack == false)
        {
            SqlConnection con = new SqlConnection("user id=sa;password=vubrain;database=raghu;data source=vubrain4");
            SqlDataAdapter da = new SqlDataAdapter("select countyr_id,countryname from country_master", con);
            DataSet ds1 = new DataSet();
            da.Fill(ds1, "country_master");
            dd1.DataSource = ds1.Tables["country_master"];
            dd1.DataTextField = "countryname";
            dd1.DataValueField = "countyr_id";
            dd1.DataBind();
        }
    }
    protected void dd1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string countryid;
        countryid = dd1.SelectedValue;
        SqlConnection con = new SqlConnection("user id=sa;password=vubrain;database=raghu;data source=vubrain4");
        SqlDataAdapter da1 = new SqlDataAdapter("SELECT stateid,statename FROM countrystate");
        DataSet ds1 = new DataSet();
        da1.Fill(ds1, "countrystate");
        dd2.DataSource = ds1.Tables["countrystate"];
        dd2.DataTextField = "statename";
        dd2.DataValueField = "stateid";
        dd2.DataBind();


    }
    protected void dd2_SelectedIndexChanged(object sender, EventArgs e)
    {
        string stateid;
        stateid = dd2.SelectedValue;
        
    }

If i want to select any country from 1st dropdownlist then,2nd dropdownlist should populate with all the state of that paticular country only and if we select any state from 2nd dropdown then the capital should be placed in text box beside that and so on...

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

how many tables should we have to create

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

You need to specify what country to use when you pull the data for the second drop down.

string sql = "SELECT stateid,statename FROM countrystate where country_id='{0}' ";
SqlDataAdapter da1 = new SqlDataAdapter( string.Format(sql,countryid) );


This way it will only contain the states for that country.

JerryShaw
Posting Pro in Training
465 posts since Nov 2006
Reputation Points: 69
Solved Threads: 75
 

i am no geting in that way
will you please explain what are the table are to be created..
please send posr my reply its very important
thank you in advance

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

Your code should work fine as is, you just need to give the Where Country_id= ... in the query so that it returns the states for that country.

protected void dd1_SelectedIndexChanged(object sender, EventArgs e)
{
string countryid;
countryid = dd1.SelectedValue;
SqlConnection con = new SqlConnection("user id=sa;password=vubrain;database=raghu;data source=vubrain4");
SqlDataAdapter da1 = new SqlDataAdapter(string.Format("SELECT stateid,statename FROM countrystate where country_id='{0}' ",countryid) );
DataSet ds1 = new DataSet();
da1.Fill(ds1, "countrystate");
dd2.DataSource = ds1.Tables["countrystate"];
dd2.DataTextField = "statename";
dd2.DataValueField = "stateid";
dd2.DataBind();
}
JerryShaw
Posting Pro in Training
465 posts since Nov 2006
Reputation Points: 69
Solved Threads: 75
 

I wrote the code as you said, but it showing two error in sqldataAdapter


1.Argument '1': cannot convert from 'string'to 'System.Data.SqlClient.SqlCommand'

2.The best overloaded method match for 'System.Data.SqlClient.SqlDataAdapter.SqlDataAdapt er

please sought this problem

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

ok, I will write the code example, and post it here in the next few minutes.

JerryShaw
Posting Pro in Training
465 posts since Nov 2006
Reputation Points: 69
Solved Threads: 75
 

Attached is a Windows Application project that demos what you are looking for,
I am using my own server (connection string), and it uses two tables. Read the top of the form.c to see my comments.
You should have no problem converting this to asp.

Good luck,
J

Attachments TwoDropDown.zip (32.94KB)
JerryShaw
Posting Pro in Training
465 posts since Nov 2006
Reputation Points: 69
Solved Threads: 75
 

thank you very much i will go through that
i will be in touch with you after going through that

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

hi jerry,sorry to say that the attachment you send to me is not opeaning it showing some error

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

hi jerry i got your attachment, in that you created tables but,while insering the values it showing some error message as

An explicit value for the identity column in table 'countrymaster88' can only be specified when a column list is used and IDENTITY_INSERT is ON.

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

where can i get bindingsource components

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

hi jerry i got your attachement and i build my own application just like yours but i gettin error message, just go through my my coding .


protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("user id=sa;password=vubrain;database=raghu;data source=vubrain4");
SqlDataAdapter da = new SqlDataAdapter("select county_id,countryname from country_master88", con);
DataSet ds1 = new DataSet();
da.Fill(ds1, "country_master88");
dd1.DataSource = ds1.Tables["country_master88"];
dd1.DataTextField = "countryname";
dd1.DataValueField = "countyr_id";


}

protected void dd1_SelectedIndexChanged(object sender, EventArgs e)
{
DataRowView drv;
string countryid;
if (dd1.SelectedValue == null) return;
if (dd1.SelectedValue is DataRowView)
{
drv = (DataRowView)dd1.SelectedValue;
countryid = drv["country_id"].ToString();
}
else
countryid = dd1.SelectedValue.ToString();
if (countryid == string.Empty) return;
string sql = string.Format("SELECT stateid,statename FROM countrystate88 where county_id={0}", countryid);
SqlConnection con = new SqlConnection("user id=sa;password=vubrain;database=raghu;data source=vubrain4");
SqlDataAdapter da1 = new SqlDataAdapter(sql, con);
DataSet ds1 = new DataSet();
da1.Fill(ds1, "countrystate");
dd1.DataSource = ds1.Tables["countrystate88"];
dd2.DataTextField = "statename";
dd2.DataValueField = "stateid";
dd2.SelectedIndexChanged(null, null);
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
DataRowView drv;
string countryid;
string stateid;
if (dd2.SelectedValue == null) return;
if (dd2.SelectedValue is DataRowView)
{
drv = (DataRowView)dd2.SelectedValue;
stateid = drv["stateid"].ToString();
}
else
stateid = dd2.SelectedValue.ToString();
if (dd1.SelectedValue is DataRowView)
{
drv = (DataRowView)dd1.SelectedValue;
countryid = drv["county_id"].ToString();
}
else
countryid = dd1.SelectedValue.ToString();
if (countryid == string.Empty || stateid == string.Empty) return;
string sql = string.Format("SELECT capital FROM countrystate where county_id={0} and stateid={1}", countryid, stateid);
SqlConnection con = new SqlConnection("user id=sa;password=vubrain;database=raghu;data source=vubrain4");
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader rdr = cmd.ExecuteReader();
rdr.Read();
t1.Text = rdr[0].ToString();
con.Close();
}
}

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

errors for the above codding is
1. it shows error in the both dropdownlist_selectedchange
near "if (dd2.SelectedValue is DataRowView)"
the message is : The given expression is never of the provided ('System.Data.DataRowView') type

2.next error shows at "drv = (DataRowView)dd1.SelectedValue"
the message Error is: Cannot convert type 'string' to 'System.Data.DataRowView'

3.next error showas at
"dd2.SelectedIndexChanged(null, null)"
the error message is: The event 'System.Web.UI.WebControls.ListControl.SelectedIndexChanged' can only appear on the left hand side of += or -=

and the same errors for all the dropdownlist_selectedindexcanged..


just solve my problem its very urgent

thank you
raghu

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

rahgu,

What version of c# are you using ?
There are some differences that can cause these problems.

I know you are in dire need of this, but I have to go to work in a few minutes. If you are willing to wait until tonight (California time) I will write it as an ASP application to get rid of the problems you are seeing.

In the mean time, you can modify the code I sent to be used as a Windows Application so you can see how it works. Works flawlessly here.
That may help you get it working in ASP.

I will post the APS version in about 10 hours.

--Jerry

JerryShaw
Posting Pro in Training
465 posts since Nov 2006
Reputation Points: 69
Solved Threads: 75
 

Attached is a simple ASP.net project that demonstrates the double drop-down.
Now this is not real efficient. If this were to be used for a production site, you should cache the information, and use JavaScript or AJAX methods to display the information rather than return to the server side.

Jerry

Attachments CountryStates.zip (2.24KB)
JerryShaw
Posting Pro in Training
465 posts since Nov 2006
Reputation Points: 69
Solved Threads: 75
 

thanks jerry i am using C# 2.0 version and asp.net 2005

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

thanks jerry i got through the coding
but the values in dropdown list i am not getting the exact way what i want,i will explain you again that if we select any country from 1stdropdownlist then it should place only selected country's states in the second dropdownlist and so on...
just tell me how many tables should i have to prepare in sql server..

thanku you jerry for your replies, i do consider tha as my best part of my job

raghu.8
Light Poster
40 posts since Nov 2007
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You