I have two table ,
first table Like this :- city_id , City_Name .... city_id is PK
------ , ---------
1 , city1
2 , city2
table 2 : - City_id , center_id , Center_Name ..... City_id is FK, Center_id is PK
-------- , ---------- , -----------
1 , 1 , center1
1 , 2 , center2
2 , 3 , center3
2 , 4 , center4
i have two combobox ,the first to display City_Name ,the second to dispaly center_Name when the user choose City_NAme fro first combobox .
this is my code :-
void FillComboCity()
{
try
{
dSet = new DataSet();
con.Open();
s = "select City_id , City_Name from City";
sCommand = new SqlCommand(s, con);
sdAdapter = new SqlDataAdapter();
sdAdapter.SelectCommand = sCommand;
sdAdapter.Fill(dSet);
DataRow dr = dSet.Tables[0].NewRow();
dr.ItemArray = new object[2] { 0, " ---Select--- " };
dSet.Tables[0].Rows.InsertAt(dr, 0);
CB_City.ValueMember = "City_id";
CB_City.DisplayMember = "City_Name";
CB_City.DataSource = dSet.Tables[0];
con.Close();
}
catch
{
return;
}
}
void FillComboCenter()
{
try
{
dSet = new DataSet();
con.Open();
s = "select Center_id , Center_Name from Center where City_id = '"+CB_City.Text+"'";
sCommand = new SqlCommand(s, con);
sdAdapter = new SqlDataAdapter();
sdAdapter.SelectCommand = sCommand;
sdAdapter.Fill(dSet);
DataRow dr = dSet.Tables[0].NewRow();
dr.ItemArray = new object[2] { 0, " ---Select--- " };
dSet.Tables[0].Rows.InsertAt(dr, 0);
CB_Center.ValueMember = "Center_id";
CB_Center.DisplayMember = "Center_Name";
CB_Center.DataSource = dSet.Tables[0];
con.Close();
}
catch
{
return;
}
}
private void FRM_PatientData_Load(object sender, EventArgs e)
{
FillComboCity();
FillComboCenter();
}
What I have tried:
How i display data in combobox?