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

Using Detailsview

مغلق
بدأه mahawe في 18 أبريل 2007 · 10 رد · 1,283 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

احتاج المساعدة في التعامل مع

Controls

داخل

TemplateField in DetailsView control

بحيث اتمكن من الوصول لمحتويات مربع نص او قائمة وتغيير قيمها بإستخدام

VB

مثال

<asp:DetailsView dir=rtl ID="DetailsView1" runat="server" AutoGenerateRows="False"

DataKeyNames="id" DataSourceID="SqlDataSource1" Height="2px" Width="412px" BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" ForeColor="Black">

<Fields>

<asp:TemplateField HeaderText="الرقم" SortExpression="id">

<EditItemTemplate>

<asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>

</EditItemTemplate>

<InsertItemTemplate>

   

<asp:TextBox ID="num" runat="server" Width="69px"></asp:TextBox>

   

</InsertItemTemplate>

<ItemTemplate>

<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("id") %>'></asp:TextBox> 

</ItemTemplate>

</asp:TemplateField>

فكيف يمكن الوصول لل "num"

وشكراً

#2

سلام ياجماعة

طلبت المساعدة من ثلاثة ايام ولم اجد أي رد بالرغم من أني عضو جديد في المنتدى وهذه بداية الطريق ولكن للأسف لم أجد اي اهتمام

#3

تريد الوصول لها عند عمل الإضافة، صحيح؟

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#4

مثال : بعد تحميل البيانات يمكنك تغيير النص كالتالي

 CType(DetailsView1.Rows(0).FindControl("num"), TextBox).Text = "Nothing"

طبعا لاحظ انك استخدمت CType مع نوع الكنترول ..

#5

في البداية احب اشكركم على الرد واهتمامكم وجزاكم الله عني كل الخير

قمت بكتابة الكود كما هو ولكن ظهر خطأ وقت التشغيل كالتالي

(Index was out of range, must be non-negative and less than the size of the collection)

هذا الخطأ يظهر عند كتابة المقطع (Rows(0))

ولكن في حال استبعاده كالتالي

Ctype(Detailsview1.FindControl("num"),TextBox).Text="Nothing"

لا يظهر أي خطأ ولكن المشكلة أنه لا يحدث تغيير وحتى اتحقق من ذلك عرفت متغير كالتالي

Dim t as New TextBox

وبعدها ساويته بقيمته

t=Ctype(Detailsview1.FindControl("num"),TextBox)

وأثناء

Debug

الاحظ عدم وجود أي قيمة في (t)

يظل كما هو (Nothing)

مما يعني أنه لايستطيع الوصول للكنترول المسمى (num)

فما الحل؟

افيدوني عاجلا اعانكم الله ووفقكم لما فيه الخير والصلاح

لانني بصراحة احتاج هذه الطريقة في التعامل مع الكنترول لاستخدامات اخرى اكثر تعقيدا وهذا مجرد مثال يساعدني على الفهم

#6
mahawe كتب:
في البداية احب اشكركم على الرد واهتمامكم وجزاكم الله عني كل الخير

قمت بكتابة الكود كما هو ولكن ظهر خطأ وقت التشغيل كالتالي

(Index was out of range, must be non-negative and less than the size of the collection)

هذا الخطأ يظهر عند كتابة المقطع (Rows(0))

ولكن في حال استبعاده كالتالي

Ctype(Detailsview1.FindControl("num"),TextBox).Text="Nothing"

لا يظهر أي خطأ ولكن المشكلة أنه لا يحدث تغيير وحتى اتحقق من ذلك عرفت متغير كالتالي

Dim t as New TextBox

وبعدها ساويته بقيمته

t=Ctype(Detailsview1.FindControl("num"),TextBox)

وأثناء

Debug

الاحظ عدم وجود أي قيمة في (t)

يظل كما هو (Nothing)

مما يعني أنه لايستطيع الوصول للكنترول المسمى (num)

فما الحل؟

افيدوني عاجلا اعانكم الله ووفقكم لما فيه الخير والصلاح

لانني بصراحة احتاج هذه الطريقة في التعامل مع الكنترول لاستخدامات اخرى اكثر تعقيدا وهذا مجرد مثال يساعدني على الفهم

أنا أنتظر إجابة سؤالي، في أي حدث تريد الوصول لهذه الأداة ؟

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#7

اريد الوصول لهذه الأداة في الحدث SelectedIndexChanged أي بعد الاختيار من قائمة DropDownList يتم تعديل قيمة الكنترول num هذا كمثال فقط ولكن في الحقيقة أريد تعبئة قائمة اعتمادا على الاختيار من قائمة اخرى كأن يتم تعبئة قائمة بالأقسام بعد اختيار الجهة

#8
mahawe كتب:
اريد الوصول لهذه الأداة في الحدث SelectedIndexChanged أي بعد الاختيار من قائمة DropDownList يتم تعديل قيمة الكنترول num هذا كمثال فقط ولكن في الحقيقة أريد تعبئة قائمة اعتمادا على الاختيار من قائمة اخرى كأن يتم تعبئة قائمة بالأقسام بعد اختيار الجهة

أنا ماني شايف DDL في الكود إلي فوق، الأداة num موجودة في ال insert template وبالتالي يمكن توصلها أثناء الإضافة فقط لأنها لن تكون موجودة في باقي القوالب

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#9

كيف يتم الوصول لها وقت الإضافة فقط ؟؟؟

ولكن بالنسبة DDL موجودة في جزء اخر من الكود ولكن تمت إضافة جزء num كمثال فقط لمعرفة كيفية الوصول للكنترول والحصول على قيمته داخل Templatefield ولكن الغرض الحقيقي من الوصول للكنترول هو كما ذكر سابقا تعبئة قائمة من اخرى اعتمادا على اختيار المستخدم

#10

صحيح الاداة موجودة في Insert Template وقد ذكرت لك أنك تستطيع الوصول اليها بعد تعبئة البيانات من قاعدة البيانات اعتمادا على انك سوف تعبئ الأداة باستخدام Binding

اقتباس
اريد الوصول لهذه الأداة في الحدث SelectedIndexChanged أي بعد الاختيار من قائمة DropDownList يتم تعديل قيمة الكنترول num هذا كمثال فقط ولكن في الحقيقة أريد تعبئة قائمة اعتمادا على الاختيار من قائمة اخرى كأن يتم تعبئة قائمة بالأقسام بعد اختيار الجهة

سؤالك مو واضح اذا كنت عاوز تستخدم التعبية عن طريق قاعدة بيانات أو عن طريقة أخرى ولكن

اذا كان عن طريق قاعدة البيانات ماعليك الا انك تعين الDataSource للأداة بعد الاستعلام حسب العنصر اللي اخترته من القائمة المنسدلة ،،

أما ان كنت تنوي تعبئتها يدويا ( يعني مش من قاعدة بيانات ) فيمكنك ذلك عن طريق انشاء DataTable ومن ثم تعيينه للDetailView كمصرد للبيانات

DetailsView1.DataSource=myTbl

وفي هذه الحالة افضل استخدام ListView

#11

طبعا التعبئة عن طريق قاعدة البيانات ولكن المقصد هو ان يتم عرض محتويات قائمة الأقسام بناء على اختيار الجهة من قائمة الجهات اي في حدث الاختيار من قائمة الجهات يتم تعبئة قائمة الأقسام من جدول

و لو استخدمت طريقة تعيين DataSource اسهل لكن لا بد من كتابة جملة الاستعلام بحيث تأخذ قيمة الجهة المختارة من القائمة الأولى ولكن لا يظهر id تبع قائمة الجهات من ضمن الخيارات المتاحة عند اختيار (control) كـ (Source) فما الحل؟

هذا الموضوع مغلق.

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