الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قراءة بيانات Hyperlinkfield من Gridview

بدأه عبدالحكيم4321 في 6 أغسطس 2009 · 10 رد · 1,173 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

عندي gridview تحتوي على ثلاثة أعمدة

عمود من نوع BoundField

عمود من نوع HyperLinkField

عمود من نوع ButtonField

عن الضغط على الزر في العمود الثالث احتاج الحصول على قيمة الحقل في العمود الأول واستطعت عن طريق GridView1.Rows(e.CommandArgument).Cells(0).Text في حدث GridView1.RowCommand

احتاج لقراة الرابط(URL) من العمود الثاني

جزاكم الله خير

#2

Gridview.findContral("HyperLinkname");

مختصرة بس أخويي لازم بهذي الطريقة تضع أسم الفيلد و هو راح يدور عليها..

في امان لله

#3

قم بتحويل ال HyperLinkField الي template وقم بتسمية ال HyperLink control و ليكن مثلا HLkTest

و استخدم الكود التالي داخل ال RowCommand event

GridViewRow row = (GridViewRow)(((Control)e.CommandSource).NamingContainer);
HyperLink HLkTest= row.FindControl("HLkTest") as HyperLink;
#4

جزاكم الله خير الجزاء

سأجرب طريقة الأخ AhmedElbaz

والحقيقة إني أعمل مشروع ب ال ASP.Net وأكثر موقع استفدت منه في البحث عن حلول للمشاكل اللي تواجهني هذا الموقع

#5

جزاك الله خير AhmedElbaz

انحلت المشكلة بس عندي مشكلة ثانية يوجد زر خارج القريد اذا تم ضغطه اريد يفتح جميع الروابط الموجودة في gridview

(عمود HyperLinkField)

#6

استخدم foreach علي GridView.Rows

			foreach (GridViewRow row in GridView1.Rows)
			{
				HyperLink HLkTest = row.FindControl("HLkTest") as HyperLink;
			}
#7
AhmedElbaz كتب:
استخدم foreach علي GridView.Rows

			foreach (GridViewRow row in GridView1.Rows)
			{
				HyperLink HLkTest = row.FindControl("HLkTest") as HyperLink;
			}

شكرا على سرعة الرد

انا عملت for loop بس المشكلة وش الكود اللي يفتج الرابط في صفحة جديدة لأن response.redirct(HlkTest.HLkTest.NavigateUrl سيفتح أول رابط على نفس الصفحة وليس في صفحة جديدة

بحثت عن كود جافاسكريبت(مع اني مش ولا بد فيه) ووضعته داخل اللوب وفتح رابط واحد فقط مع انه دخل اللوب 5 مرات

جزاك الله خير مقدما

#8

هل تريد فتح جميع الروابط الموجوده داخل ال GridView دفعة واحدة عند المستخدم؟؟

#9

نعم هذا ماأريد

#10

جرب الكود التالي

			string script = string.Empty;

			foreach (GridViewRow row in GridView1.Rows)
			{
				HyperLink HLkTest = row.FindControl("HLkTest") as HyperLink;

				script += "window.open('" + HLkTest.NavigateUrl + "');";
			}

			ScriptManager.RegisterStartupScript(this, this.GetType(), "MyScript", script, true);
#11
AhmedElbaz كتب:
جرب الكود التالي

			string script = string.Empty;

			foreach (GridViewRow row in GridView1.Rows)
			{
				HyperLink HLkTest = row.FindControl("HLkTest") as HyperLink;

				script += "window.open('" + HLkTest.NavigateUrl + "');";
			}

			ScriptManager.RegisterStartupScript(this, this.GetType(), "MyScript", script, true);

شكراً لك اخي أحمد

جربت الكود ومشي تمام

أسأل الله أن يغفر ذنبك وييسر أمرك ويصلح لك ولدك

تم تعديل هذه المشاركة بواسطة عبدالحكيم4321 في 16 أغسطس 2009 في 11:17

مواضيع مشابهة