PDA

View Full Version : سوال: دسترسی به label در gridview



hosna66
سه شنبه 27 مرداد 1388, 12:41 عصر
سلام دوستان
من سایت کتابفروشی انلاین رو با اکسس طراحی میکنم.وقتی کاربر مثلا روی لینک اقتصاد کلیک میکند کتابهای رشته اقتصاد از پایگاه داده خوانده شده در یک gridview نمایش داده میشود به شکل زیر:
<asp:GridView ID="GridView1" runat="serve DataSourceID="AccessDataSource1r >
<Columns>
<ItemTemplate>

<tasp:Label ID="Label1" runat="server" ForeColor="Maroon" Text=": نام کتاب></asp:Label>
<asp:label ID="label2" runat="server" Text='<%# Eval("name") %>'></asp:label



<<asp:Label ID="Label3" runat="server" ForeColor="Maroon" Text=": نویسنده"></asp:Label>
<asp:label ID="label4" runat="server" Text='<%# Bind("nevisande") %></asp:label></td>

</td></tr>
<<asp:LinkButton ID="LinkButton2" runat="server" OnClick="sabad">">اضافه به سبد خرید



</ItemTemplate>
</asp:TemplateField>
</Columns>
نتیجه شبیه زیره:
نام کتاب:اقتصاد
نویسنده:نوروزی
اضافه به سبد خرید

حالا میخوام با زدن دکمه "اضافه به سبد خرید" کتابی رو که کاربر انتخاب میکنه به پایگاه داده "سبد خرید" اضافه شه باید چیکار کنم؟ لطفا راهنماییم کنید

ali_kashani
شنبه 02 آبان 1388, 09:18 صبح
سلام

يه راه اينه كه يك ستون تعريف كني براي Check Box كه هر كتابي كه مد نظر بود انتخاب بشه در مرحله بعد پس انتخاب دكمه ثبت در سبد خريد بايد داخل گريد جستجو كني ببيني كدام رديفها انتخاب شده و اطلاعات را از Grid در بياري اگر از نوع TemlateFild هستند توسط متد Find Control مقادر ثبت شده را استخراج كني.

Saber_Fatholahi
شنبه 02 آبان 1388, 11:32 صبح
می تونی لینک اضافه به سبد خرید به شکل دکمه یا لینک باتن یا ImageButton بذاری وتوی اون کد مورد نظرتو با CommandArgument پاس بدی و توی رویداد GridViewRowCommand اونو بازیابی و به سبد خریدت اضافه کنی
موفق باشی

meysampaknahad
شنبه 02 آبان 1388, 21:35 عصر
سلام
منم همچین مشکلی دارم .
میشه لطفاً یه نمونه کد براش لطف کنید؟

Saber_Fatholahi
یک شنبه 03 آبان 1388, 10:21 صبح
سلام ببین دوست من شما اول باید توی یه تمپلیت فیلد توی گرید ویو یا دیتا لیست هرچی این کد باید برای دکمه داشته باشی


<asp:ImageButtonID="btnAddToCart"runat="server"ImageUrl="~/Image/addto.gif"CommandArgument='<%# Eval("ProductID") %>'CommandName="ADD"/>


خوب حالا توی گرید ویو یا دیتالیست و.. اگه بگردین یه رویداد داره بنام Command که توی گرید وی یا دیتالیست اسماشون شبیه همه توی دیتالیست اسم این رویداد OnItemCommand توی گرید ویو اسمش RowCommand یا چیزی شبیه اینه
خوب حالا شما توی این رویداد باید بیاین این کد بنویسی


protectedvoid GridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ADD")
{
//insert to cart e.CommandArgument.ToString()
}
}


که توی این قسمت e.CommandArgument.ToString در واقع کد کالای شماست که اونو به کارتتون اضافه می کنین که می تونین از طریق این کد اطلاعات دیگه کالارو هم بدست بیارین
امیدوارم منظورم رسونده باشم
موفق باشین