golagha_program جان من روش شما را نمی پسندم خیلی طول می کشه من توی پروژه های قبلیم برای اینکار همه تمام جدول هام را داخل دیتاست لود می کردم سپس با دیتاویو انرا فیلتر می کردم در این کار لازم نیست دائم به بانک وسل شی و سرعت ان بسیار بالاست مثلا کد شما به این صورت در می اید
قسمت پرکردن
objdataadaptervisitor.Fill(objdataset, "visitor");
cboinvoicevisname.DataSource = objdataset.Tables["visitor"];
cboinvoicevisname.DisplayMember = "name";
cboinvoicevisname.ValueMember = "visID";
cboinvoicevisname.SelectedIndex = -1;
//فقط می توانم در رویداد کلیلک کمبو دوم این کد را بنویسم
String _strbarber = "SELECT bID,bname From Tblbarber";
SqlDataAdapter dabarber = new SqlDataAdapter(_strbarber, objconnection);
DataSet objdataset1 = new DataSet();
dabarber.Fill(objdataset1, "barber");
قسمت رویداد
DataView dv = objdataset1.Tables["barber"].DefaultView;
dv.RowFilter = "visID=" + cboinvoicevisname.SelectedValue;
cbobname.DataSource = dv;
cbobname.DisplayMember="bname";
cbobname.ValueMember = "bID";
البته اینکار برای وقتی است که مطمئن باشید که در طول عملیات شما بانک تغییر نمی کند که اگر برنامه شما چند کاربره نباشد این اتفاق هیچ وقت نمیافتد