PDA

View Full Version : سوال: اضافه کردن به کامبوباکسی که از دیتابیس میخونه



طبیب دل
دوشنبه 21 شهریور 1390, 09:06 صبح
با سلام
یک کومبوباکس دارم که از بانک میخونه در مواردی کاربر هیچ کدوم رو نباید انتخاب کنه چطوری میشه یک مورد مثلا به نام "انتخاب کنید" به اون اضافه کنم که اگر اون انتخاب شد هیچ مقداری در اون فیلد ذخیره نشه و در ابتدا هم همین مورد رو نمایش بده
با تشکر

morteza271
دوشنبه 21 شهریور 1390, 10:56 صبح
با کد زیر میتونید این کار رو انجام بدین :
SqlConnection con = new SqlConnection(strCon);
SqlCommand cmd = new SqlCommand("select id,name from customer", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

dt.Rows.Add(0, "انتخاب کنید");
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;

موفق باشید

طبیب دل
دوشنبه 21 شهریور 1390, 14:21 عصر
با کد زیر میتونید این کار رو انجام بدین :
SqlConnection con = new SqlConnection(strCon);
SqlCommand cmd = new SqlCommand("select id,name from customer", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);


dt.Rows.Add(0, "انتخاب کنید");
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;

موفق باشید

با تشکر از شما
این کار رو کردم ولی وقتی می خوام ذخیره کنم تو خاصیت valueMember برای هر آیتم مقدار بعدی رو میزاره و برای آیتم آخر null در نظر میگیره چی کار کنم؟

yones_62
دوشنبه 21 شهریور 1390, 15:21 عصر
می تونی از این کد هم استفاده کنی

void fil_cmb_stuff_out()
{
Logic.blTolid_to_anbar bl = new Logic.blTolid_to_anbar ();
DataTable dt = new DataTable();
dt = bl.fill_stuf_name(stuff_name);
stuff_out_name.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
stuff_out_name.Items.Add(dt.Rows[i][0].ToString());

}

}

طبیب دل
دوشنبه 21 شهریور 1390, 15:34 عصر
می تونی از این کد هم استفاده کنی

void fil_cmb_stuff_out()
{
Logic.blTolid_to_anbar bl = new Logic.blTolid_to_anbar ();
DataTable dt = new DataTable();
dt = bl.fill_stuf_name(stuff_name);
stuff_out_name.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
stuff_out_name.Items.Add(dt.Rows[i][0].ToString());

}

}


میشه کدی رو که نوشتید توضیح بدید؟

yones_62
دوشنبه 21 شهریور 1390, 18:40 عصر
سلام
این کدی که از لایه برنامه یه اسم که به اون ارسال میشه میره ار دیتابیس از جدول خودش یه مقداری را که برگشت میده . ( تو یه دیتا تیبل بر میگردونه ) و من تعداد ایتم هایی که تو دیتا تیبل هست رو به کمبو باکس اد میکنم با For که میبینی.