PDA

View Full Version : مبتدی: فیلد عکس در gridview



mahdioo12194
چهارشنبه 09 شهریور 1390, 10:03 صبح
سلام من یه گرید ویو دارم که در یکی از ستون های آن فیلد عکس است و عکس های مربوطه را نشان میدهد(در

itemtemplate )حالا می خوام با کلیک روی هر عکس عکس مربوطه در سایز بزرگتر نمایش داده شود حالا باید چه

کارکنم؟

rana-writes
چهارشنبه 09 شهریور 1390, 12:28 عصر
سلام
ميتونين عكس رو از نوع ImageButton بگيرين و توي رويداد rowCommand گريد، عكس رو به يه صفحه ديگه با كوئري استرينگ بفرستين تا توي سايز واقعيش ديده بشه

amir-aa
چهارشنبه 09 شهریور 1390, 12:31 عصر
مرحله به مرحله انجام بده

برو توی قسمت ویرایش آیتم تمپلیت دقت کن که باید از imageButton استفاده کنی.
حالا یک صفحه ی دیگه بساز و توش از detailsView استفاده کن و داخل اون یک image قرار بده.
خوب الآن اندازه ی دلخواه رو تنظیم کن و بعد کانفیگ دیتابیست رو انجام بده. فقط موقع انتخاب جدولت بعد از اینکه جدول رو انتخاب کردی برو توی WHERE... و خاصیت column رو روی اسم ستون آی دی رکورد ها توی بانکت تنظیم کن.Operator رو بذار =. و source رو روی query String تنظیم کن. در query string Field هم فقط همون اسم ستون آی دی رو بنویس.
حالا که کانفیگ تموم شد برو توی data binding همون کنترل image و image URL رو توی customBinding اینجوری بنویس
Eval("picUrl Field","address\\{0}") vvvvv
address=دایرکتوری عکس هات

حالا برمیگردی به صفحه ی اولت و میری توی دیتا بایندینگ image button حالاتیک show All properties رو میزنی و روی post back URL میری تا تنظیمش کنی و اونجا cutom binding رو مینویسی:
Eval("Code",page2.aspx?code={0})vvvvvvv
page2=نام صفحه ی دوم
code=اسم ستون آی دی در جدول

اگر نتونستی انجام بدی بگو برات تصویری بذارم

mahdioo12194
چهارشنبه 09 شهریور 1390, 14:50 عصر
انجام دادم ولی error داد اگه می شه تصویری با توضیح کامل بزارید(همراه با یه نمونه برنامه)

البته نکته این کار استفاده از querystring است که من نمی دونم چه جور باید استفاده کرد.:لبخند:

hjran abdpor
چهارشنبه 09 شهریور 1390, 17:34 عصر
با سلام.
امیدوارم این لینک کمکتون کنه ، البته با یه ذره تغییر.
http://delshad.ir/article.aspx?code=fc9e7520-6d32-47e5-9a06-2e1c2a3f2268

mahdioo12194
چهارشنبه 09 شهریور 1390, 21:53 عصر
انقدر باهاش دست و پنجه نرم کردم که درست شد فقط نفهمیدم چه کار کردم؟:لبخند:

mahdioo12194
پنج شنبه 10 شهریور 1390, 10:11 صبح
سلام با session هم می شه این کار را انجام داد؟ در این صورت چه جور اطلاعات درون سطر های گرید ویو را (کنترل های آن) داخل session قرار دهم؟

hjran abdpor
پنج شنبه 10 شهریور 1390, 12:46 عصر
سلام.

Label txtbox = GridView2.SelectedRow.FindControl("Label6") as Label;
string txt = txtbox.Text;
Session["Price_"] = txt;


با این دستور فقط یه فیلد از سطر انتخاب می شود اگه میخوای یه سطر انتخاب کنی بقیه ی فیلدهات را بزار : مثلا با دستور زیر یه سطر از گریدویو انتخاب میشود و و داخل یک دیتاتیبل ذخیره میشود و در انتقال داده میشود برای صفحه ی بعد.

protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
if (Session["user"] != null)
{
Label txtbox = GridView2.SelectedRow.FindControl("Label6") as Label;
string txt = txtbox.Text;
Session["Price_"] = txt;


Label txtbox1 = GridView2.SelectedRow.FindControl("Label5") as Label;
string txt1 = txtbox1.Text;
Session["Dec_"] = txt1;

Label txtbox2 = GridView2.SelectedRow.FindControl("Label1") as Label;
string txt2 = txtbox2.Text;
Session["NameKala_"] = txt2;


Image txtbox3 = GridView2.SelectedRow.FindControl("Image1") as Image;
string txt3 = txtbox3.ImageUrl;
Session["Pic_"] = txt3;


Label txtbox4 = GridView2.SelectedRow.FindControl("Label13") as Label;
string txt4 = txtbox4.Text;
Session["Code_"] = txt4;

////////////////////////////////////////////////////


DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("NameKala", typeof(string)));

dt.Columns.Add(new DataColumn("Price", typeof(string)));

dt.Columns.Add(new DataColumn("Dec", typeof(string)));
dt.Columns.Add(new DataColumn("Pic", typeof(string)));

DataRow dr = dt.NewRow();

dr["NameKala"] = txtbox2.Text;
dr["Price"] = txtbox.Text;
dr["Dec"] = txtbox1.Text;
dr["pic"] = txtbox3.ImageUrl;

dt.Rows.Add(dr);

this.GridView3.Visible = false;

GridView3.DataSource = dt;
GridView3.DataBind();


//Label11.Text = Session["Price_"].ToString() + Session["Dec_"].ToString() + Session["NameKala_"].ToString();

Session["grid"] = dt;
Label11.Text = "محصول شما به سبد خرید اضافه شد ";
Label12.Visible = false;
Label12.Text = Session["Code_"].ToString();

}

mahdioo12194
پنج شنبه 10 شهریور 1390, 15:49 عصر
ممنون خوبه:قلب: