Click here to Skip to main content
15,884,885 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
Hi,
I m trying below code to display data from database in dropdownlist as well as textbox

but Textboses are working fine but Dropdownlist is not showing data of database.

Pls Help..

C#
SqlCommand cmd = default(SqlCommand);
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Callregister_connectionstring"].ConnectionString);
         con.Open();
        cmd = new SqlCommand("Select * from Call_Reg where Complaint_no='" + ddlupCompl.SelectedItem.ToString() + "'", con);
         SqlDataReader reader = cmd.ExecuteReader();
        int i=0;
        while (reader.Read())
        {
            txtRegdt.Text = Convert.ToString(reader["Reg_dt"]);
            txtComplnno.Text = Convert.ToString(reader["Complaint_no"]);
            txtFname.Text = Convert.ToString(reader["Cust_FName"]);
            txtLname.Text = Convert.ToString(reader["Cust_LName"]);
            txtPh.Text = Convert.ToString(reader["ph_no"]);
            txtMob.Text = Convert.ToString(reader["mob_no"]);
            txtemail.Text = Convert.ToString(reader["email"]);
            txtadd.Text = Convert.ToString(reader["address"]);
            txtcity.Text = Convert.ToString(reader["city"]);
            txtdist.Text = Convert.ToString(reader["dist"]);
            ddlstat.Items.Add(new ListItem(Convert.ToString(reader["state"]),i.ToString()));
            i++;
}
con.close();
Posted
Updated 3-Jan-13 3:17am
v2

First, on your page load event fill the list of states:
C#
protected void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
fillStates();
}
}
//function to fill state list
protected void fillStates()
{
SqlCommand cmd = default(SqlCommand);
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Callregister_connectionstring"].ConnectionString);
con.Open();
cmd = new SqlCommand("Select distinct stateID,stateName from YourStateTable", con);
SqlDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
ListItem li = new ListItem();
li.Text = Convert.ToString(reader["stateName"]);
li.Value = Convert.ToString(reader["stateID"]);
ddlstat.Items.Add(li);
}
con.close();
}


Now on you button click event write
C#
protected void btnDetails_Click(object sender, System.EventArgs e)
{
SqlCommand cmd = default(SqlCommand);
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Callregister_connectionstring"].ConnectionString);
con.Open();
cmd = new SqlCommand("Select * from Call_Reg where Complaint_no='" + ddlupCompl.SelectedItem.ToString() + "'", con);
SqlDataReader reader = cmd.ExecuteReader();
txtRegdt.Text = Convert.ToString(reader["Reg_dt"]);
txtComplnno.Text = Convert.ToString(reader["Complaint_no"]);
txtFname.Text = Convert.ToString(reader["Cust_FName"]);
txtLname.Text = Convert.ToString(reader["Cust_LName"]);
txtPh.Text = Convert.ToString(reader["ph_no"]);
txtMob.Text = Convert.ToString(reader["mob_no"]);
txtemail.Text = Convert.ToString(reader["email"]);
txtadd.Text = Convert.ToString(reader["address"]);
txtcity.Text = Convert.ToString(reader["city"]);
txtdist.Text = Convert.ToString(reader["dist"]);
ddlstat.SelectedValue = Convert.ToString(reader["state"]);
/*the above line willl set the value to the stored value if you are storing id 
of the state in the database. If you are storing state as text in the database replace the line with following line:
ddlstat.SelectedIndex =
ddlstat.Items.IndexOf(ddlstat.Items.FindByValue(Convert.ToString(reader["state"])))
*/
con.close();
}
 
Share this answer
 
v2
Comments
Member 9693583 3-Jan-13 9:41am    
Yes Zafan, I m passing complaint no. & filling the data from query on button click.... Ohhhoo.... this code is not working on button click.... pls help me...
Zafar Sultan 3-Jan-13 9:45am    
OK, I will update my reply in a while.
Zafar Sultan 3-Jan-13 10:10am    
Please check the updated reply.
Member 9693583 3-Jan-13 10:53am    
Yuuuuuuhuuuuu..... Done... Thanks Zafan... U dont understand wht u have done.... thaku thanku so much...
Zafar Sultan 4-Jan-13 2:56am    
It's all right :)
Try this: For dropdown list only
private void dropdownlistbind()
    {
       
        SqlCommand cmd = new SqlCommand("Your Command using appropriate clause","Your Connection");
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DropDownList1.DataSource = ds;
        // FieldName of Table in DataBase
        DropDownList1.DataValueField = "FieldName";
        DropDownList1.DataBind();   
      }	
 
Share this answer
 
Comments
Member 9693583 3-Jan-13 9:56am    
hi prasad, tried below code & call it on button click.... exception error

"Invalid operation exception was unhandled by user code" pls help..


private void ddlstatebind()
{
SqlCommand cmd = new SqlCommand("Select state from Call_Reg ", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
ddlstat.DataSource = ds;
ddlstat.DataValueField = "state";
ddlstat.DataBind();
}
First - Bind the dropdown on page_load event.

SqlCommand cmd = default(SqlCommand);
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Callregister_connectionstring"].ConnectionString);
con.Open();
cmd = new SqlCommand("Select * from Call_Reg where Complaint_no='" + ddlupCompl.SelectedItem.ToString() + "'", con);
SqlDataReader reader = cmd.ExecuteReader();
int i=0;
while (reader.Read())
{
txtRegdt.Text = Convert.ToString(reader["Reg_dt"]);
txtComplnno.Text = Convert.ToString(reader["Complaint_no"]);
txtFname.Text = Convert.ToString(reader["Cust_FName"]);
txtLname.Text = Convert.ToString(reader["Cust_LName"]);
txtPh.Text = Convert.ToString(reader["ph_no"]);
txtMob.Text = Convert.ToString(reader["mob_no"]);
txtemail.Text = Convert.ToString(reader["email"]);
txtadd.Text = Convert.ToString(reader["address"]);
txtcity.Text = Convert.ToString(reader["city"]);
txtdist.Text = Convert.ToString(reader["dist"]);

SQL
ddlstat.SelectedIndex =
    ddlstat.Items.IndexOf(ddlstat.Items.FindByValue(Convert.ToString(reader["state"])))



i++;
}
con.close();
 
Share this answer
 
v2
Comments
Member 9693583 3-Jan-13 9:30am    
hi vaibhav,Thanks 4 reply... I tried that code but its not working i want the code on button click event

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900