التعامل مع الكائن DataView
صفحة 1 من اصل 1 • شاطر
التعامل مع الكائن DataView
الكائن DataView يتيح للمطورين إنشاء طرق عرض مختلفة للبيانات المخزنة في جدول قاعدة البيانات ، وهي إمكانية يتم استخدامها غالبًا في تطبيقات ربط البيانات. باستخدام DataView ، حيث يمكنك عرض البيانات في جدول بأوامر فرز مختلفة
وهذا يمنحنا مرونة عالية عند عرض البيانات للمستخدم دون الحاجة الى إعادة ارسال الاستعلامات المختلفة الى قاعدة البيانات ..فالكائن DataView يحتوي فى فهرس index يشير الى سجلات جدول قاعدة البيانات ولا يحتوي على سجلات البيانات نفسها هذا يجعل كائن DataView سريعا فى اداء عمليات التصفية و الفرز و البحث دون استهلاك مساحة كبيرة من الذاكرة
انشاء الكائن DataView
الطريقة الاولى : فى وقت التصميم
لإنشاء DataView في وقت التصميم ، اسحب DataView من Toolbox> Data إلى النموذج الخاص بك. ثم قم بإنشاء كائن DataSet وتعيين الخاصية الجدول DataView في جدول في DataSet المكتوبة كما فى الشكل التالى :

الفرز باستخدام الكائن DataView :
يوفر DataView عدة طرق لفرز البيانات وتصفيتها في DataTable:
استخدام الخاصية Sort لتحديد أوامر الفرز الفردية أو المتعددة وتضمين المعلمات ASC (تصاعديًا) و DESC (تنازليًا)...على النحو التالى :
فى الكود أعلاه قمنا بفزر العامود name فرزا تصاعديا
استخدام خاصية ApplyDefaultSort لتكوين ترتيب فرز تلقائيًا ، بترتيب تصاعدي ، استنادًا إلى عمود المفتاح الأساسي أو أعمدة الجدول. ينطبق ApplyDefaultSort فقط عندما تكون الخاصية Sort هي مرجع فارغ أو سلسلة فارغة ، وعندما يكون للجدول مفتاح أساسي محدد.
التصفية باستخدام الكائن DataView :
استخدام خاصية RowFilter لتحديد مجموعات فرعية من الصفوف استناداً إلى قيم الأعمدة الخاصة بهم....على النحو التالى كمثال
مثال أخر كامل لتصفية البيانات
كيفية البحث عن صف في DataView
يمكننا البحث في DataView وفقًا لقيم مفتاح الفرز باستخدام الطريقة Find. حيث ترجع طريقة البحث عددًا صحيحًا بفهرس DataRowView الذي يطابق معايير البحث.
مثال :
وهذا يمنحنا مرونة عالية عند عرض البيانات للمستخدم دون الحاجة الى إعادة ارسال الاستعلامات المختلفة الى قاعدة البيانات ..فالكائن DataView يحتوي فى فهرس index يشير الى سجلات جدول قاعدة البيانات ولا يحتوي على سجلات البيانات نفسها هذا يجعل كائن DataView سريعا فى اداء عمليات التصفية و الفرز و البحث دون استهلاك مساحة كبيرة من الذاكرة
انشاء الكائن DataView
الطريقة الاولى : فى وقت التصميم
لإنشاء DataView في وقت التصميم ، اسحب DataView من Toolbox> Data إلى النموذج الخاص بك. ثم قم بإنشاء كائن DataSet وتعيين الخاصية الجدول DataView في جدول في DataSet المكتوبة كما فى الشكل التالى :

الطريقة الثانية : باستخدام الشفرة
يمكننا إنشاء DataView بالشفرة بطريقتين مختلفتين ايضا....
- استخدام منشئ DataView :يمكن أن يكون منشئ DataView فارغًا على النحو التالى :
- الكود:
Dim dv As New DataView()
- أو يمكن أن يأخذ إما DataTable كوسيطة واحدة
- الكود:
Dim dt As DataTable = ds.Tables("Employee")
Dim dv As New DataView(dt)
- أو ياخذ DataTable مع معايير التصفية
- الكود:
Dim dt As DataTable = ds.Tables("Employee")
Dim dv As New DataView(dt,"FirstName = 'Joe'","FirstName", DataViewRowState.CurrentRows)
- إنشاء مرجع إلى خاصية DefaultView من DataTable.
- الكود:
DataView dv = dv.Tables["Employee"].DefaultView;
الفرز باستخدام الكائن DataView :
يوفر DataView عدة طرق لفرز البيانات وتصفيتها في DataTable:
استخدام الخاصية Sort لتحديد أوامر الفرز الفردية أو المتعددة وتضمين المعلمات ASC (تصاعديًا) و DESC (تنازليًا)...على النحو التالى :
- الكود:
DataView view = new DataView(dt);
view.Sort = "name ASC";
فى الكود أعلاه قمنا بفزر العامود name فرزا تصاعديا
استخدام خاصية ApplyDefaultSort لتكوين ترتيب فرز تلقائيًا ، بترتيب تصاعدي ، استنادًا إلى عمود المفتاح الأساسي أو أعمدة الجدول. ينطبق ApplyDefaultSort فقط عندما تكون الخاصية Sort هي مرجع فارغ أو سلسلة فارغة ، وعندما يكون للجدول مفتاح أساسي محدد.
التصفية باستخدام الكائن DataView :
استخدام خاصية RowFilter لتحديد مجموعات فرعية من الصفوف استناداً إلى قيم الأعمدة الخاصة بهم....على النحو التالى كمثال
- الكود:
dv.RowFilter = "Col < 3";
مثال أخر كامل لتصفية البيانات
- الكود:
[right][/right]
[right]Imports System.Data.SqlClient
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim connetionString As String
Dim connection As SqlConnection
Dim command As SqlCommand
Dim adapter As New SqlDataAdapter
Dim ds As New DataSet
Dim dv As DataView
Dim sql As String
connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
sql = "Select * from product"
connection = New SqlConnection(connetionString)
Try
connection.Open()
command = New SqlCommand(sql, connection)
adapter.SelectCommand = command
adapter.Fill(ds, "Filter DataView")
adapter.Dispose()
command.Dispose()
connection.Close()
dv = New DataView(ds.Tables(0), "Product_Price < = 500", "Product_Name", DataViewRowState.CurrentRows)
DataGridView1.DataSource = dv
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class
[/right]
كيفية البحث عن صف في DataView
يمكننا البحث في DataView وفقًا لقيم مفتاح الفرز باستخدام الطريقة Find. حيث ترجع طريقة البحث عددًا صحيحًا بفهرس DataRowView الذي يطابق معايير البحث.
مثال :
- الكود:
Private Sub FindValueInDataView(table As DataTable)
Dim view As DataView = New DataView(table)
view.Sort = "CustomerID"
' Find the customer named "DUMON" in the primary key column
Dim i As Integer = view.Find("DUMON")
Console.WriteLine(view(i))
End Sub
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» أفضل موقع تأجير سيارات في مصر
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» شركة آي بي إس للخدمات الاستشارية المالية وتكنولوجيا المعلومات
» ادارة متجرك الالكتروني
» مدرس انجليزي متوسط ثانوي 97234912 بالكويت
» شركة IBS للاستشارات الاقتصادية والادارية
» أحصل ملبغ مالى "رمزي " نظير مشاركاتك و مقالاتك بالمنتدي
» "أحلامنا المرآة: فك رموزها واستكشاف عمق المعاني"