13-01-16, 02:17 PM
(آخر تعديل لهذه المشاركة : 13-01-16, 03:26 PM {2} بواسطة silverlight.)
طلبك ليس صعبا لكنه يحتاج الي وقت
اولا بما انه ليس هناك صورة توضح البيانات في الداتاجريدفيو
هنا مهم جدا أن نعرف كم عدد الأعمدة في الداتاجريد فيو لأن هذا سوف يحدد اي الاعمدة سوف نستخدم لتحويل بياناته الي مصفوفة
عموما الفكرة هنا عبارة عن استخدام DataSource الخاصة ب الداتاجريد فيو و تحويلها الي مصفوفة عناصر أو الي DataTable مثلا
ثم تستخدم Serialization و De-Serialization لحفظ العناصر في ملف او لإسترجاع العناصر من الملف
أما نوع الملف فقد يكون xmal او تكست أو اي ملف
و المقصود بعملية Serialization و De-Serializatio
انك تستخدم FileStream مع BinaryFormatter لحفظ او استرجاع عناصر المصفوفة من الملف
و الكود الخاص بهذا سيكون شيئا من هذا القبيل و هو الحل لمشكلتك
وعليك فقط ان تستخدم كلمة IP بدلا من كلمة Object
والكود مكتوب ب اسلوب ان الحفظ يتم في ملف تحدد انت الاسم الخاص به و تحدد امتداده أيضا
نصيحتي لك أن تبني كلاس يكون اساسه العناصر التي سوف يتم حفظها خاصة اذا كان لديك اكثر من عنصر غير IP سوف يتم حفظه في الملف
ثم تبني Collection لهذا الكلاس حتي تستطيع ان تتحكم بعناصر المصفوفة بشكل أفضل أثناء عملية ظهورها في الداتاجريد فيو او أثناء حفظها في الملف
حل أخر
وهذا الحل مناسب جدا خاصة ان كانت البيانات المراد تخزينها بيانات غير حساسة
انك تستخدم XmlTextReader , لقراءة البيانات وتستخدم XmlTextWriter لحفظ البيانات
حل أخر
انك تستخدم BinaryReader مع BinaryWriter
عموما الأمر محتاج مجهود منك لتخزين البيانات بشكل دقيق حسب اهمية و نوعية البيانات
اولا بما انه ليس هناك صورة توضح البيانات في الداتاجريدفيو
هنا مهم جدا أن نعرف كم عدد الأعمدة في الداتاجريد فيو لأن هذا سوف يحدد اي الاعمدة سوف نستخدم لتحويل بياناته الي مصفوفة
عموما الفكرة هنا عبارة عن استخدام DataSource الخاصة ب الداتاجريد فيو و تحويلها الي مصفوفة عناصر أو الي DataTable مثلا
ثم تستخدم Serialization و De-Serialization لحفظ العناصر في ملف او لإسترجاع العناصر من الملف
أما نوع الملف فقد يكون xmal او تكست أو اي ملف
و المقصود بعملية Serialization و De-Serializatio
انك تستخدم FileStream مع BinaryFormatter لحفظ او استرجاع عناصر المصفوفة من الملف
و الكود الخاص بهذا سيكون شيئا من هذا القبيل و هو الحل لمشكلتك
وعليك فقط ان تستخدم كلمة IP بدلا من كلمة Object
والكود مكتوب ب اسلوب ان الحفظ يتم في ملف تحدد انت الاسم الخاص به و تحدد امتداده أيضا
PHP كود :
Public Sub Serialize(fileName As String, list As IEnumerable(Of Object))
Dim fs As System.IO.FileStream = New System.IO.FileStream(fileName, System.IO.FileMode.OpenOrCreate)
Dim formatter As System.Runtime.Serialization.Formatters.Binary.BinaryFormatter = New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
Try
formatter.Serialize(fs, list)
fs.Close()
Catch ex As System.Runtime.Serialization.SerializationException
MessageBox.Show(ex.Message + ": " + ex.StackTrace, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Function Deserialize(fileName As String) As IEnumerable(Of Object)
Dim fs As System.IO.FileStream = New System.IO.FileStream(fileName, System.IO.FileMode.Open)
Dim list As New List(Of Object)()
Try
Dim Formatter As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
list = Formatter.Deserialize(fs)
fs.Close()
Return list
Catch ex As System.Runtime.Serialization.SerializationException
MessageBox.Show(ex.StackTrace, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error)
Return list
End Try
End Function
نصيحتي لك أن تبني كلاس يكون اساسه العناصر التي سوف يتم حفظها خاصة اذا كان لديك اكثر من عنصر غير IP سوف يتم حفظه في الملف
ثم تبني Collection لهذا الكلاس حتي تستطيع ان تتحكم بعناصر المصفوفة بشكل أفضل أثناء عملية ظهورها في الداتاجريد فيو او أثناء حفظها في الملف
حل أخر
وهذا الحل مناسب جدا خاصة ان كانت البيانات المراد تخزينها بيانات غير حساسة
انك تستخدم XmlTextReader , لقراءة البيانات وتستخدم XmlTextWriter لحفظ البيانات
حل أخر
انك تستخدم BinaryReader مع BinaryWriter
عموما الأمر محتاج مجهود منك لتخزين البيانات بشكل دقيق حسب اهمية و نوعية البيانات

