منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
DataView - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم مقالات قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=42)
+--- الموضوع : DataView (/showthread.php?tid=4010)



DataView - Ahmed_online - 10-10-14

اخوانى اعضاء المنتدى  . سلام الله عليكم ورحمته وبركاته


هذا موضوع الثانى فى المنتدى أكرمكم الله فيه 



فلترة البيانات داخل الـ 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 سنة


'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

ثالثا عملية الاضافة


[ltr]Dim NewRow As DataRowView = Dataview1.AddNew()[/ltr]

[ltr]NewRow("ID") = "006"[/ltr]

"NewRow("Name") = "Hassan

"NewRow("Age") = "26


طبعا الكود لا يحتاج الى شرح , لكنى واثق تمام الثقة انك ستسألنى  " هو أنا لما اضيف صف جديد هنا هل هينضاف الى Datatable أيضا "
الاجابة طبعا سيضاف  وكل ما تحتاجه هو الموافقة على التغييرات

DataSet1.AcceptChane


رابعا عملية الحذف


(Dataview1.Delete(RowIndex


واضح كل ما هو عليك هو ادخال رقم السجل المراد حذفه


خامسا عملية التعديل

"Dataview1(RowIdex)(FiledIndex) = "Value

سادسا : حساب عدد صفوف الـ DataView

Dataview1.Count


هو ده كل الموضوع  


نتقابل فى مواضيع تانى ان شاء الله