10-10-14, 03:43 PM
اخوانى اعضاء المنتدى . سلام الله عليكم ورحمته وبركاته
هذا موضوع الثانى فى المنتدى أكرمكم الله فيه
فلترة البيانات داخل الـ DataTable
هناك الكثير يود فلترة البيانات داخل جداول الـ DataSet , ولكن لا يعرف كيف ؟ !
فمثلا تجد طائفة تقوم باجراء استعلام جديد لجلب البيانات المطلوبة فقط من قاعدة البيانات , وهناك قلة تستخدم Linq ولكن لم اجد الكثير يستخدم DataView لفلترة البيانات واجراء الاضافة والتعديل والحذف عليها بكل سهولة .
بداية نفرض أنه لدينا DataSet1 بها Table1 به الحقول ( ID , Name , Age ) وطبعا واضح نوع كل حقل
ولدينا أيضا شبكة بيانات DatagrideView1
[b]أولا انشاء DataView[/b]
("Dim Dataview1 As New DataView(DataSet1.Tables("Table1
بهذه الطريقة انت انشات DataView مصدرها هو Table1 وهى الان نسخة طبق الاصل من الجدول وتحتوى على كافة بيانات الجدول دون بحث او تصفية
يمكن عرض هذه البيانات على DatagrideView كالتالى
DataGridView1.DataSource = Dataview1
ثانيا : اجراء البحث والفلترة
'Dataview1.RowFilter = "FiledName" ='Value
أمثلة :
عرض عرض بيانات الاشخاص الذين يحملون اسم Ahmed ثم عرض النتيجة فى الشبكة
'Dataview1.RowFilter = "Name" = 'Ahmed
DataGridView1.DataSource = Dataview1
عرض بيانات الاشخاص حيث اعمارهم 25 سنة
عرض بيانات الاشخاص حيث اعمارهم 25 سنة
'Dataview1.RowFilter = "Age" = '25
عرض بيانات الاشخاص حيث اعمارهم = 25 او 16
'Dataview1.RowFilter = "Age" = '25' or "Age" = '16
عرض بيانات الاشخاص حيث اسمائهم Ahmed واعمارهم 16
'Dataview1.RowFilter = "Name" = 'Ahmed' And "Ag"e = '16
وهكذا تستخدم عبارت , = , > , < , <= , >= And , Or , = , Between
وهكذا تستخدم عبارت , = , > , < , <= , >= And , Or , = , Between
ثالثا عملية الاضافة
[ltr]Dim NewRow As DataRowView = Dataview1.AddNew()[/ltr]
[ltr]NewRow("ID") = "006"[/ltr]
"NewRow("Name") = "Hassan
"NewRow("Age") = "26
طبعا الكود لا يحتاج الى شرح , لكنى واثق تمام الثقة انك ستسألنى " هو أنا لما اضيف صف جديد هنا هل هينضاف الى Datatable أيضا "
الاجابة طبعا سيضاف وكل ما تحتاجه هو الموافقة على التغييرات[ltr]NewRow("ID") = "006"[/ltr]
"NewRow("Name") = "Hassan
"NewRow("Age") = "26
طبعا الكود لا يحتاج الى شرح , لكنى واثق تمام الثقة انك ستسألنى " هو أنا لما اضيف صف جديد هنا هل هينضاف الى Datatable أيضا "
DataSet1.AcceptChane
رابعا عملية الحذف
(Dataview1.Delete(RowIndex
واضح كل ما هو عليك هو ادخال رقم السجل المراد حذفه
خامسا عملية التعديل
"Dataview1(RowIdex)(FiledIndex) = "Value
سادسا : حساب عدد صفوف الـ DataView
Dataview1.Count
هو ده كل الموضوع
نتقابل فى مواضيع تانى ان شاء الله
قم بعلم ولا تطلب به بدلا فالناس موتى وأهل العلم احياء
الامام على رضوان الله عليه