ميتونيد از رويدادهاي تغيير كمبو استفاده كنيد كه كمي اذيت كننده است و راه بهتر استفاده از BindingManagerBase Class هست كه نمونه هاي آن در همين تالار پيدا ميشه
با تشکر از پاسختون
برای دو تا از کمبوباکس ها کدش رانوشتم توی سومییش موندم کدش را براتون میزارم
public partial class Form1 : Form
{
int result = -1;
string na;
SqlConnection cn = new SqlConnection("Data Source=netmaster;Initial Catalog=kia;Integrated Security=True");
DataSet ds = new DataSet();
DataView dv = new DataView();
DataSet ds3 = new DataSet();
DataView dv2 = new DataView();
SqlCommand cm = new SqlCommand();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
na = comboBox1.Text;
cn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from agency", cn);
da.Fill(ds, "agency");
dv.Table = ds.Tables["agency"];
comboBox1.DataSource = dv.Table;
comboBox1.DisplayMember = "agency_name_vc";
dv2.Table=ds3.Tables["school"];
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
dv.Sort = "agency_name_vc";
na = comboBox1.Text;
result = dv.Find(na);
if (result != -1)
{
result = Convert.ToInt16(dv[result]["agency_id"]);
string a2 = "select * from school where agency_id=" + Convert.ToString(result);
SqlDataAdapter da2 = new SqlDataAdapter(a2, cn);
DataSet ds2 = new DataSet();
da2.Fill(ds2, "school");
comboBox2.DataSource = ds2.Tables["school"];
comboBox2.ValueMember = "school_name_vc";
cn.Close();