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

كيف يتم التعامل مع Select Method في ال Datatable

مغلق
بدأه Procedure في 16 فبراير 2008 · 6 رد · 1,558 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني

عندي Datatable فيها 30 صف

المطلوب الآن هو تقليص هذه الصفوف بحسب شرط معين

انا حاولت اني احلها بإستخدام الدالة Select ولكنها لم تنجح معي

Dt.select("Age<=5")

علما بأن دالة Select تعود بـ Objecct من النوع DataRow فكتبت الكود التالي ولكنه لم ينجح معي


dr=Dt.select("Age<=5")
 dim DR as DataRow

كيف يتم التعامل مع دالة الـ Select ؟

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

Habeb2.gif
#2

راجع الرابط التالى لكيفية الفلترة ان شاء الله يكون فيه الحل

الرابط هنــــــــــــــا

كل من فى الوجود يطلب صيداً :::: غير ان الشباك مختلفات

#3

مشكور اخي njd على المثال الواضح في عملية الفلترة بإستخدام الخاصية RowFilter في كلاس DataView ، وانا طبقتها عندي ومشي الحال .

ولكن يبقى السؤال للفائدة :

ماهي فائدة من الSelect في الـ Datatable ، وهل استطيع الاسفاده منها في عملية الفلترة ؟ وكيف يتم ذلك ؟

تم تعديل هذه المشاركة بواسطة Procedure في 17 فبراير 2008 في 16:49

Habeb2.gif
#4

بسم الله الرحمن الرحيم

الاخ Procedure

هنا توضيح عن عبارة Select فى ال Datatable

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

إلى مصفوفة مثلاَ من الصفوف مثلاً عندنا مصفوفه أسمها Frows نريد ان نحمل فيها الصفوف الموجوده فى ال Datatable

يكون الكود كالتالى على فرد ان عندك جدول اسمه table ملئ بالبيانات من أى مصدر بيانات

Dim fRows() As DataRow
Frows = table.Select()

فى المثال السابق يتم نسخ كل الصفوف الموجوده فى ال table إلى المصفوفة Frows

فى حالة عمل فلترة يكون الكود كالتالى

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

Dim Str As String = "Age >=40"
Dim fRows() As DataRow
Frows = table.Select(Str)

فى المثال السابق يتم نسخ كل الصفوف الموجوده فى ال table إلى المصفوفة Frows الذى لا يقل العمر فيها عن 40 عام

آى عملية فلتره

ويمكن ايضاً ان تعمل فلترة وترتيب كما فى المثال التالى

لتحميل المصفوفة من الصفوف بصفوف الجدول table بشرط الا يقل العمر عن 40 عام مع ترتيب الاسم تنازليا حسب ترتيب الحروف الأبجدبة

Dim sortName As String = "Name Asc"
Dim Str As String = "Age >=40"
Dim fRows() As DataRow
Frows = table.Select(Str, SortName)

ويمكنك عرض النتيجة فى Listbox مثلاً كالتالى

فى المثال السابق يتم نسخ كل الصفوف الموجوده فى ال table إلى المصفوفة Frows الذى لا يقل العمر فيها عن 40 عام

آى عملية فلتره وبترتيب أبجدى تنازلى للأسم

على أعتبار ان كل من Age و Name أسماء عواميد فى الجدول

 For I As Integer = 0 To Frows.GetUpperBound(0)
			ListBox1.Items.Add(Frows(I))
 Next I

أرجو أن اكون قد استطعت توصيل المعلومة

كل من فى الوجود يطلب صيداً :::: غير ان الشباك مختلفات

#5

مشاء الله تيارك الله شرح موفق

جزيت خير

رُب ( وامعتصماه ) إنطلقت *** ملْء أفـواه الصبايا اليُتـم

لامـسـت أسْـماعـهـم لاكـنهـا *** لمْ تلامس نخْوة المعتصم

#6

أخ njd جزاك الله خير ، الصراحه شرح وافي

وصلت المعلومة

انا كان خطأي في الكود السابق عدم اعتبار الـDatarow مصفوفة

dim DR as DataRow
dr=Dt.select("Age<=5")

تم تعديل هذه المشاركة بواسطة Procedure في 18 فبراير 2008 في 01:15

Habeb2.gif
#7

فعلا أخ Procedure كان عندك ال Dr اللى هو الصف singl سطر واحد فقط ولم يكن مصفوفة

على العموم كلنا بتعدى علينا حاجات كتير وجل من لا يسهو

كل من فى الوجود يطلب صيداً :::: غير ان الشباك مختلفات

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…