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

سؤال عن كيفية حفظ البيانات فـDataGrid

مغلق
بدأه suadd200657 في 17 يونيو 2006 · 3 رد · 821 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اما بعد اخواني في المنتدى قمت بعمل بحث على كلمة Datagrid في المنتدى وقمت بقرااءة جميع مواضيع المنتدى من لجل حل هذا

السؤال

اقوم بانشاء فورم يحتوي على datagrid

البيانات

SECNAME NAME ID_CODE

1 ali hassan

2 ahmad othman

3 adnan ameer الخ من البيانات

هذه البيانات موجودة في ال DB

انشاء اسطر جديدة في ال (Datagrid (new data row)

SECNAME NAME ID_CODE

1 ali hassan

2 ahmad othman

3 adnan ameer الخ من البيانات

4 ali hassan

5 ahmad othman

6 adnan ameer الخ من البيانات

انشاء زر الحفظ :

يوجد حالتين لحفظ البيانات

يقوم بقراءة البيانات من ال Datagrid والبحث في وجود ID_CODE في قاعدة البيانات DB في حالة وجود ال ID_CODE في ال DB يتم التعديل على البيانات SECNAME NAME

وفي حالة عدم وجود ال ID_CODE في قاعدة البيانات DB يتم اضافة السطرفي قاعدة البيانات DB على انه سطر جديد SECNAME NAME ID_CODE

ارجو ممن يعرف المساعدة في اسرع وقت

ملاحظ:_

احتاج الكود على فيجول بيسك دوت نت 2003

لكم جزيل الشكر وفائق الاحترام

(h) :angry: :angry: (h) (h)

تم تعديل هذه المشاركة بواسطة suadd200657 في 17 يونيو 2006 في 14:10

#2

السلام عليكم ورحمة الله وبركاته

ياشباب المنتدى يا خبراء المنتدى فزعتكم الله يخليكم

#3

إذا كنت تقوم بتحميل البيانات في الـ DataGrid أثناء تشغيل البرنامج, فهنالك عدة طرق لمعرفة وجود القيمة من عدمها

على سبيل المثال لا الحصر باستخدام الـ DataView سواءً في حدث CurrentCellChange أو ColumnChanging و الخيار إليك أخي

المهم عندما تختار أحد الحدثين للتحقق بهما تقوم بالتالي

عند عملية الاضافة سواءً عن طريق زر معين أو بشكل برمجي تقوم باسناد القيمة True للمتغير InsertFlag

وعند عملية التحديث أو الالغاء تقوم باسناد القيمة False له.

Private InsertFlag As Boolean = False

Private Sub Entry_Load( _
	ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles MyBase.Load

AddHandler DsMain1.Tables("TableName").ColumnChanging, _
			AddressOf ValidateDataGrid

End Sub

ثم في حدث ValidateDataGrid تقوم بالتالي.

 Private Sub ValidateDataGrid(ByVal s As Object, _
	   ByVal e As System.Data.DataColumnChangeEventArgs)
		If (e.Column.ColumnName.Equals("ID_CODE")) And InsertFlag Then
			Dim dv As New DataView(DsMain1.Tables("TableName"))
			Dim BindMBase As BindingManagerBase = Nothing
			BindMBase = Me.BindingContext(DsMain1, "TableName")
			'Sorting Data View
		   Dim i As Integer
  dv.Sort = "ID_CODE"
			 If Not e.ProposedValue Is DBNull.Value Then
						 i = dv.Find(CInt(e.ProposedValue))
					End If
			If i <> -1 Then
				BindMBase.Position = i
			End If
		End If
	End Sub

أما اذا كنت لا تقوم بتحميل البيانات فستضظر في هذه الحالة إلى استخدام عناصر أخرى كمثلا CommandObject يستخدم Scalar

وكذلك StoredProcedure وله ممرر خارجي يلتقط القيمة ثم يعود بها للمنادي لمعرفة هل هنالك كود في قاعدة البيانات أم لا

بالتوفيق أخي الكريم.

السلام عليكم

في المثال يتضح المقال

#4

السلام عليكم ورحمة الله وبركاته

اخي الغملاسي شكرا على الاجابة

والله دخلت عدة مرررررررررررررررات كي اجد الحل فعندما سئمت من وجود الحل قمت بادراج الحل ارجو منك المساعدة وعدم اخذ الموصوع اني مطنش او شيئ من هذا القبيل

ولكن هنا المقصود في تحميل البيانات هو ان اقو بعمل load للبيانات عن طريق ال Datagrie عند فتح ال form ام ماذا

هل من الممكن اتوضح لي الجواب بسرد مثال اذا امكن

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

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

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

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

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

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