AmiN0012
یک شنبه 18 بهمن 1394, 09:43 صبح
سلام دوستان من یک کامبو دارم که بصورت کد بش گفتم به ی جدول وصل شه.که جدول شامل فیلدهای کد و نام هست.به کامبو گفتم نام رو نمایش بده ولی موقع درج یا ویرایش کد ذخیره شه. درست عمل میکنه.فقط زمانی که من دوتا نام تکراری ولی با کدهای مجزا داشته باشم کامبو بعد leave شدن از روش ،کد اولین فیلد تکراری رو ذخیره میکنه.
تابع:
public static void FillCmb(ComboBox Cmb, string FirstRow, string query, string name, string id)
{
try
{
Connection.Open();
DataTable D = new DataTable();
new SqlDataAdapter(query, Connection).Fill(D);
DataRow row1 = D.NewRow();
row1[0] = 0;
row1[1] = FirstRow;
D.Rows.InsertAt(row1, 0);
Cmb.DataSource = D;
Cmb.DisplayMember = name;
Cmb.ValueMember = id;
}
catch
{
}
Connection.Close();
}
فراخوانی
private void Frm_Treat_Load(object sender, EventArgs e)
{
FillCmb(Cmb_SrchDoctor, "مشخص نشده", "select Doc_Id,Doc_Name from Doctor", "Doc_Name", "Doc_Id");
}
رویداد SelectedValueChanged است. البته رویداد keydown و leave هم به کامبوی من وصله که من غیر فعالشونم کردم تاثیری نداشت. لینک زیر رو هم دیدم http://stackoverflow.com/questions/28581471/same-two-items-in-combobox-but-first-one-always-gets-selected-c-sharp
تابع:
public static void FillCmb(ComboBox Cmb, string FirstRow, string query, string name, string id)
{
try
{
Connection.Open();
DataTable D = new DataTable();
new SqlDataAdapter(query, Connection).Fill(D);
DataRow row1 = D.NewRow();
row1[0] = 0;
row1[1] = FirstRow;
D.Rows.InsertAt(row1, 0);
Cmb.DataSource = D;
Cmb.DisplayMember = name;
Cmb.ValueMember = id;
}
catch
{
}
Connection.Close();
}
فراخوانی
private void Frm_Treat_Load(object sender, EventArgs e)
{
FillCmb(Cmb_SrchDoctor, "مشخص نشده", "select Doc_Id,Doc_Name from Doctor", "Doc_Name", "Doc_Id");
}
رویداد SelectedValueChanged است. البته رویداد keydown و leave هم به کامبوی من وصله که من غیر فعالشونم کردم تاثیری نداشت. لینک زیر رو هم دیدم http://stackoverflow.com/questions/28581471/same-two-items-in-combobox-but-first-one-always-gets-selected-c-sharp