ASP.NET - always 2nd dropdownlist select first value

Asked By siv h on 13-Jun-13 01:51 AM
 Addmoretable:
 
ID    ClientID   Name   PrimaryContact  MailID             POCName
1   CL_001   Hari 7777777777  hh@gmail.com    null
2   CL_001   giri 7777777788  kk@gmail.com    null
3   CL_002   Udaya    9999999955  tt@gmail.com    null
4   CL_002    priya 9539977955  tuut@gmail.com  null
NULL    NULL    NULL    NULL    NULL    NULL       
 
CompanyDetails:
 
ClientID    ClientName         PrimaryContact        MailId            POCName
CL_001  Group1Comapny   9999999999          abc@gmail.com   Ravi
CL_002  Group2Comapny       8888888888          vv@gmail.com       Srinu
NULL    NULL    NULL    NULL    NULL
 
 
 
 
  private void FillCompanyNames()
  {
    string strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "select ClientID,ClientName from CompanyDetails";
    DataSet objDs = new DataSet();
    SqlDataAdapter dAdapter = new SqlDataAdapter();
    dAdapter.SelectCommand = cmd;
    con.Open();
    dAdapter.Fill(objDs);
    con.Close();
    if (objDs.Tables[0].Rows.Count > 0)
    {
      ddlClientName.DataSource = objDs.Tables[0];
      ddlClientName.DataTextField = "ClientName";
      ddlClientName.DataValueField = "ClientID";
      ddlClientName.DataBind();
      ddlClientName.Items.Insert(0, "--Select--");
    }
    else
    {
      lblMsg.Text = "No Countries found";
    }
 
 
  }
  private void FillComapnyName(string st)
  {
    List<PocName> li = new List<PocName>();
     string strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "select Name,ClientID from AddMoreContact where ClientID='" + st+"'";
    DataSet objDs = new DataSet();
    SqlDataAdapter dAdapter = new SqlDataAdapter();
    dAdapter.SelectCommand = cmd;
    con.Open();
    dAdapter.Fill(objDs);
    con.Close();
    if (objDs.Tables[0].Rows.Count > 0)
    {
      for (int i = 0; i < objDs.Tables[0].Rows.Count; i++)
      {
        try
        {
          PocName po = new PocName();
          po.Name = objDs.Tables[0].Rows[i]["Name"].ToString();//item.Name;
          po.ClientID = objDs.Tables[0].Rows[i]["ClientID"].ToString();//item.ClientID;
          li.Add(po);
        }
        catch (Exception e)
        { }
      }
    }
    //"select POCName,ClientID from CompanyDetails where ClientID='" + st + "'"
 
    SqlConnection con1 = new SqlConnection(strConn);
    SqlCommand cmd1 = new SqlCommand();
    cmd1.Connection = con;
    cmd1.CommandType = CommandType.Text;
    cmd1.CommandText = "select POCName,ClientID from CompanyDetails where ClientID='" + st + "'";
    DataSet objDs1 = new DataSet();
    SqlDataAdapter dAdapter1 = new SqlDataAdapter();
    dAdapter1.SelectCommand = cmd1;
    con1.Open();
    dAdapter1.Fill(objDs1);
    con1.Close();
    if (objDs1.Tables[0].Rows.Count > 0)
    {
      for (int i = 0; i < objDs1.Tables[0].Rows.Count; i++)
      {
        try
        {
          PocName po = new PocName();
          po.Name = objDs1.Tables[0].Rows[i]["POCName"].ToString();//item.Name;
          po.ClientID = objDs1.Tables[0].Rows[i]["ClientID"].ToString();//item.ClientID;
          li.Add(po);
        }
        catch (Exception e)
        { }
      }
    }
 
    if (li.Count > 0)
    {
      try
      {
        ddcompanyname.DataSource = li.ToList<PocName>();
        ddcompanyname.DataTextField = "Name";
        ddcompanyname.DataValueField = "ClientID";
        ddcompanyname.DataBind();
        ddcompanyname.Items.Insert(0, new ListItem("-Select-"));
        ddcompanyname.SelectedIndex = 0;
      }
      catch (Exception ex) { }
    }
 
  }
  private void FillContactNumbers(string clientid, string Name)
  {
    List<Contact> lic = new List<Contact>();
    string strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(strConn);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "select PrimaryContact,MailId from AddMoreContact where Name='" + Name + "' and ClientID='" + clientid + "'";
    DataSet objDs = new DataSet();
    SqlDataAdapter dAdapter = new SqlDataAdapter();
    dAdapter.SelectCommand = cmd;
    con.Open();
    try
    {
      dAdapter.Fill(objDs);
    }
    catch (Exception ex) { }
    con.Close();
    if (ClientIDSeparator != null)
    {
      if (objDs != null)
      {
        if (objDs.Tables[0].Rows.Count > 0)
        {
          for (int i = 0; i < objDs.Tables[0].Rows.Count; i++)
          {
            try
            {
              Contact co = new Contact();
              co.contact = objDs.Tables[0].Rows[i]["PrimaryContact"].ToString();//item.PrimaryContact;
              co.mailid = objDs.Tables[0].Rows[i]["MailId"].ToString();//.MailID;
              lic.Add(co);
            }
            catch (Exception e)
            { }
          }
        }
      }
    }
    //"select POCName,ClientID from CompanyDetails where ClientID='" + st + "'"
 
    SqlConnection con1 = new SqlConnection(strConn);
    SqlCommand cmd1 = new SqlCommand();
    cmd1.Connection = con;
    cmd1.CommandType = CommandType.Text;
    cmd1.CommandText = "select PrimaryContact,MailID from CompanyDetails where POCName='" + Name + "' and ClientID='" + clientid + "'";
    DataSet objDs1 = new DataSet();
    SqlDataAdapter dAdapter1 = new SqlDataAdapter();
    dAdapter1.SelectCommand = cmd1;
    con1.Open();
    dAdapter1.Fill(objDs1);
    con1.Close();
    if (objDs1.Tables[0].Rows.Count > 0)
    {
      for (int i = 0; i < objDs1.Tables[0].Rows.Count; i++)
      {
        try
        {
          Contact co = new Contact();
          co.contact = objDs1.Tables[0].Rows[i]["PrimaryContact"].ToString();//item.PrimaryContact;
          co.mailid = objDs1.Tables[0].Rows[i]["MailID"].ToString();//.MailID;
          lic.Add(co);
        }
        catch (Exception ex)
        { }
      }
    }
 
    if (lic.Count > 0)
    {
      try
      {
 
        ddcontact.DataSource = lic.ToList<Contact>();
        ddcontact.DataTextField = "contact";
        ddcontact.DataValueField = "mailid";
        ddcontact.DataBind();
        ddcontact.Items.Insert(0, new ListItem("-Select-"));
        ddcontact.SelectedIndex = 0;
      }
      catch (Exception ex) { }
    }
 
  }
  protected void ddlClientName_SelectedIndexChanged(object sender, EventArgs e)
  {
    string st = ddlClientName.SelectedValue.ToString();
    FillComapnyName(st);
  }
  protected void ddcompanyname_SelectedIndexChanged(object sender, EventArgs e)
  {
 
    string st1 = ddcompanyname.SelectedItem.Text.ToString();
    FillContactNumbers(ddlClientName.SelectedValue, st1);
  }
  protected void ddcontact_SelectedIndexChanged(object sender, EventArgs e)
  {
    lblEMail.Text = ddcontact.SelectedValue;
  }
}
 
 
 
=====>source:
<table>
  <tr>
<td>ClientName:</td>
<td>
  <asp:DropDownList ID="ddlClientName" runat="server" AutoPostBack="True"
    onselectedindexchanged="ddlClientName_SelectedIndexChanged">
  </asp:DropDownList>
</td>
 
<td>Company Name:</td>
<td>
  <asp:DropDownList ID="ddcompanyname" runat="server" AutoPostBack="True"
    onselectedindexchanged="ddcompanyname_SelectedIndexChanged">
  </asp:DropDownList>
    </td>
 
<td>Contact:</td>
<td>
  <asp:DropDownList ID="ddcontact" runat="server" AutoPostBack="True"
    onselectedindexchanged="ddcontact_SelectedIndexChanged">
  </asp:DropDownList>
    </td>
</tr>
<tr><td>
  <asp:Label ID="lblEMail" runat="server" Text="Label"></asp:Label>
  </td>
</tr> 
</table>