ورود

View Full Version : سوال: مشکل در کار با GridView برای استخراج اطلاعات



maisambidy
جمعه 27 اسفند 1389, 16:01 عصر
سلام من میخوام محصولات شرکت به این صورت نمایش داده بشه و بعد در صورت کلیک بر روی عکس موجود نام کالا رو در یک تکست باکس نشان بده خیلی ضروری ممنون.این صفحه در آدرس زیر موجود است
http://www.cnc4buy.com/products.aspx


67660

hi level hdd
جمعه 27 اسفند 1389, 17:05 عصر
با سلام میتونی
به جای استفاده از گرید ویو ( که منم تا حالا باهاش کار نکردم) یه دونه برا خودتون طراحی کنی.اگه با Style Sheet کار کردید ، میدونید که
برای صفحه کلی رنگی از یه Div استفاده کن و بک گراندشو رنگ مورد نظرت کن ، جای اون نوشته ها هم Span بذار و جهتشونو راست به چپ کن.
برا اون عکس هم بنویس که Float اون چپ باشه و طول و عرض مورد نظر و بهش بده.
کد مورد نظر تقریبا مثل پایینه
.GridView
{
bachground:Green;
padding: 10px;
}
.GridView IMG{
Float: left;
width:30px;
hight: 20px;
}
برای وقتی هم که روی عکس کلیک میکنی میتونی تابع نویسی کنی.
کارهای بالا رو انجام بده بعد سوالاتتونو بپرسید

maisambidy
جمعه 27 اسفند 1389, 17:46 عصر
با سلام میتونی
به جای استفاده از گرید ویو ( که منم تا حالا باهاش کار نکردم) یه دونه برا خودتون طراحی کنی.اگه با Style Sheet کار کردید ، میدونید که
برای صفحه کلی رنگی از یه Div استفاده کن و بک گراندشو رنگ مورد نظرت کن ، جای اون نوشته ها هم Span بذار و جهتشونو راست به چپ کن.
برا اون عکس هم بنویس که Float اون چپ باشه و طول و عرض مورد نظر و بهش بده.
کد مورد نظر تقریبا مثل پایینه
.GridView
{
bachground:Green;
padding: 10px;
}
.GridView IMG{
Float: left;
width:30px;
hight: 20px;
}
برای وقتی هم که روی عکس کلیک میکنی میتونی تابع نویسی کنی.
کارهای بالا رو انجام بده بعد سوالاتتونو بپرسید
شاید درست منظورم رو بیان نکردم در این سایت قراره بیش از 100 ها کالا وجود داشته باشه نمی تونم برای هر کدوم از اونها صفحه جداگانه ایجاد کنم این سایت به این صورت کار میکنه که تمام کالا ها را نشون میده به اینصورت که نام کالا و آدرس تصویر رو از دیتا بیس میگیره حالا مشکل من اینکه برای اینکه وقتی رو تصاویر بیشتر کلیک بشه در صفحه بعد باید یک idبفرستم تا آدرس تصاویری که با این idیکی هستند رو برای نمایش تصاویر استفاده کنه مشکل اینجا است که چون از ItemTemplateدر GridView استفاده کردم نمیتونم به اجزاء درون GridView دسترسی داشته باشم تا مثلا یک text کنم.

hi level hdd
جمعه 27 اسفند 1389, 18:07 عصر
هیچ فرقی نمیکنه همه کدهایی که مینویسید در انتها به اچ تی ام ال تبدیل میشه.من یه حالت کلی گفتم شما خودتون میتونید گسترشش
بدید.ولی GridView تقریبا آمادست برای هر کاری. بازم میگم همه چیزو خودتونم میتونید طراحی کنید.

asif1358
جمعه 27 اسفند 1389, 18:15 عصر
اتفاقا ItemTemplate امکانات بیشتری در اختیار شما می گذارد.
به طور مثال شما همان تصویر را به عنوان ImageButton استفاده کن سپس در رویداد GridView_RowCommand میتونی هر کار بکنی:


if(e.CommandName=="imgClick")
//.............

alibabaei2
جمعه 27 اسفند 1389, 18:15 عصر
ابتدا درون itemTemplate ی که در گرید گذاشتید یک هایپرلینک بگذارید و navigateUrl را برابر مقدار زیر قرار دهید
'<%# Eval("ProductID","~/ShowProduct.aspx?ID={0}") %>'
productID در واقع کلید اصلی جدولی است که محصولات شما در آن نگه داری می شود و ShowProduct.aspx صفحه ای است که با کلیک کردن به اون صفحه می رید.
حالا در اون صفحه می تونید یک textbox بگذارید و text اون را برابر مقدار زیر بگذارید
'<%# Eval("ProducrName") %>'

maisambidy
جمعه 27 اسفند 1389, 20:33 عصر
اتفاقا ItemTemplate امکانات بیشتری در اختیار شما می گذارد.
به طور مثال شما همان تصویر را به عنوان ImageButton استفاده کن سپس در رویداد GridView_RowCommand میتونی هر کار بکنی:


if(e.CommandName=="imgClick")
//.............
گفته های شما درسته ولی مشکل سر گرفتن اطلاعات یک توضیح بدم مثلا اگه بدون استفاده از ItemTemplate به صورت عادی ستون ها مقدار بگیرن به راحتی می تونم با کد زیر مقدار یک سلول را به دست بیارم
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
Label3.Text = GridView1.SelectedRow.Cells[1].Text;

}
اما وقتی از ItemTemplate چطور مقدار یک lable رو بخونم