PDA

View Full Version : سوال: انتخاب نام و ظاهر شدن تصویر مربوطه



batman1
چهارشنبه 30 تیر 1395, 18:06 عصر
سلام به همه.
برنامه ای دارم که یک کمبو باکس داره و داخل این کمبوباکس،آیتم ها زیادی هست.
این برنامه حاویه تعداد زیادی تصویر هست.
حالا من میخوام که وقتی آیتمی رو انتخاب میکنم،تصویر مربوط به اون آیتم نمایش داده بشه.
مثلا اگر آیتم X رو انتخاب میکنم،تصویر X در یک پیکچرباکس نمایش داده بشه.
چه جوری باید کوئری بزنم؟
عکسام در پوشه پروژه هست و آدرسشون داخل دیتابیس هست.
ممنون.

mrprestige
چهارشنبه 30 تیر 1395, 20:55 عصر
سلام دوست من وقتت بخیر ، دوست خوبم من به شما یه پیشنهاد میکنم اونم اینکه شما یه جدول بسازید که دو فیلد ID (یا نام عکس) و PicAddress(آدرس عکس) رو دارا باشه مثلا به نام tbl (با فرض اینکه شما عکس هارو همراه با نامشون توی پایگاه داده توی این جدول ثبت کردید ) یک متد داخل کلاس Formتون بنویسید

private void Display()
{
try
{
SqlConnection conn = new SqlConnection("Connection String");
conn.Open();
var da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("SELECT * FROM tbl", conn);
var dset = new DataSet();
da.Fill(dset);
DataTable dtable;
dtable = dset.Tables[0];
comboBox1.Items.Clear();
foreach (DataRow row in dtable.Rows)
{
comboBox1.Items.Add(row[0].ToString());
comboBox1.SelectedIndex = 0;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}


اگه برات از ین قسمت سوالی پیش اومد بگو تا بگم .

پیروز و موفق باشی

batman1
جمعه 01 مرداد 1395, 10:34 صبح
ممنون میشم حلقه فورایچشو توضیح بدید

mrprestige
جمعه 01 مرداد 1395, 11:06 صبح
سلام دوست من ،اگه دقت کنی میبینی dtable همون متغییر DataTableمون هست که درونش جدولمون رو با دیتاست پاس دادیم و بعد اومدیم توی این حلقه یه متغییر از نوع DataRow گرفتیم و گفتیم که به ازای هر سطری(row) که در dtable.Rowsمون قرار داره بیاد اون رو به آیتم های combo پاس بده و index اونم برابر صفر قرار دادیم چون از آیتم اول کمبو پر بشه همینطور تا آخرین آیتم .

پیروز موفق باشی.

batman1
یک شنبه 03 مرداد 1395, 19:45 عصر
دوست عزیز،میشه یه زحمت بکشید و همینو با کوئری توضیح بدید؟
من به اون مسلط ترم.
خیلی ممنون.:قلب:

محمد رضا فاتحی
دوشنبه 25 مرداد 1395, 08:15 صبح
سلام...
ابتدا اینطوری کامبوباکستون رو پر کنید

string command = "select name,address from yourtbl";
DataTable dt=new DataTable();
SqlDataAdapter da=new SqlDataAdapter(command,con);
con.Open();
da.Fill(dt);
con.Close();
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "address";


بعدش توی رویداد SelectedIndexChanged کامبوباکس این کد رو بنویسید

string file = comboBox1.SelectedValue.ToString();
if (File.Exists(file))
{
pictureBox.Image = Image.FromFile(file);
}