this can be done using CAML query..
public void PopulateCompanyDropDown()
{
SPSite Site = new SPSite("http://xss-422:8000/default.aspx");
SPWeb web = Site.OpenWeb();
SPList SourceList1 = web.Lists["Company"];
this.ddCompany.DataSource = SourceList1.Items.GetDataTable();
this.ddCompany.DataTextField = "Title";
this.ddCompany.DataValueField = "ID";
this.ddCompany.DataBind();
}
public void PopulateDepartmentDropDown()
{
SPSite Site = new SPSite("http://xss-422:8000/default.aspx");
SPWeb Web = Site.OpenWeb();
SPList SourceList2 = Web.Lists["Department Name"];
//foreach (SPListItem item in SourceList2.Items)
//{
// Console.WriteLine(item.Title.ToString());
// Console.WriteLine(item.Fields[9].ToString());
//}
string caml = "<Where>" +
"<Eq>" +
"<FieldRef Name='{0}'/>" +
"<Value Type=\"Lookup\">{1}</Value>" +
"</Eq>" +
"</Where>";
SPQuery query = new SPQuery();
string CompanyName = ddCompany.SelectedItem.Text.ToString();
query.Query = string.Format(caml, "Company_x0020_Name", CompanyName);
SPListItemCollection results = SourceList2.GetItems(query);
this.ddDepartment.DataSource = results.GetDataTable();
this.ddDepartment.DataTextField = "Title";
this.ddDepartment.DataValueField = "ID";
this.ddDepartment.DataBind();
//txtManager.Text = SourceList2.Items[2]["Manager"].ToString();
//txtUserName.Text = SourceList2.Items[2]["UserName"].ToString();
//txtAddress.Text = SourceList2.Items[2]["UserComment"].ToString();
//DataTable dtttt = results.
//txtAddress.Text = SourceList2.Fields["UserComment"].ToString();
DataTable dtttt = results.GetDataTable();
}
protected void ddCompany_SelectedIndexChanged(object sender, EventArgs e)
{
PopulateDepartmentDropDown();
}