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

داتا فيو

بدأه fadhelabass في 28 سبتمبر 2009 · 12 رد · 1,249 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

#2

هل تقصد DataGridView?

لاحظ أن هناك فئة أخرى إسمها DataView لكن أعتقد أنك تقصد الجريد

هذا كود إضافة زر الحذف

  1.  
  2. Dim col As New DataGridViewButtonColumn
  3. col.Name = "Delete"
  4. col.Text = "حذف"
  5. Me.DataGridView1.Columns.Add(col)
  6.  

وهذا كود الحذف

  1.  
  2. Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As System.Window
    s.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
  3. If e.ColumnIndex = Me.DataGridView1.Columns("Delete").Index Then
  4. CType(Me.DataGridView1.Rows(e.RowIndex).DataBoundItem, DataRowView).Delete()
  5. End If
  6. End Sub
  7.  

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3

جزاك الله خيرا واسكنك فسيح جناته

ارجو ان تعلمني كيفة اضافة زر تعديل وزر حفظ

وزر الحفظ يحفظ في جدول اخر نفس حقول الجدول الاصلي

#4

ارجو اجابتي انا في الانتضار جزاكم الله خيرا يا اساتذتي الاجلاء

#5
fadhelabass كتب:
ارجو ان تعلمني كيفة اضافة زر تعديل وزر حفظ

التعديل ؟ - طريقة التعديل تعود إلى الشكل المستخدم لعرض البيانات كـ( جدول أو حقول )، والتعديل إحدى خصائص الحفظ إذا كان التعامل مباشر مع قاعدة البيانات .

fadhelabass كتب:
وزر الحفظ يحفظ في جدول اخر نفس حقول الجدول الاصلي

عذراً، مالذي تقصده بـ( حفظ في جدول أخر نفس حقول الجدول الأصلي ) ؟ - هل تريد نسخ البيانات من جدول إلى جدول أخر ؟

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#6

عذراً، مالذي تقصده بـ( حفظ في جدول أخر نفس حقول الجدول الأصلي ) ؟ - هل تريد نسخ البيانات من جدول إلى جدول أخر ؟

اي السجل الذي اضغط عليه حفظ يحفظ في جدول اخر اسماء حقولة نفس اسماء حقول الداتا كراد(الجدول ان مسوية في الاكسس او الاسكوايل)\

لتعديل ؟ - طريقة التعديل تعود إلى الشكل المستخدم لعرض البيانات كـ( جدول أو حقول )، والتعديل إحدى خصائص الحفظ إذا كان التعامل مباشر مع قاعدة البيانات .

اول شي اني رابط الداتا كراد بالجدول واريد التعديل على كل حقل انا اريد التعديل عليه

اهم شئ كيفة اضافة زر تعديل وزر حفظ في داخل الداتا كراد

#7
اقتباس
عذراً، مالذي تقصده بـ( حفظ في جدول أخر نفس حقول الجدول الأصلي ) ؟ - هل تريد نسخ البيانات من جدول إلى جدول أخر ؟

اي السجل الذي اضغط عليه حفظ يحفظ في جدول اخر اسماء حقولة نفس اسماء حقول الداتا كراد(الجدول ان مسوية في الاكسس او الاسكوايل)\

لتعديل ؟ - طريقة التعديل تعود إلى الشكل المستخدم لعرض البيانات كـ( جدول أو حقول )، والتعديل إحدى خصائص الحفظ إذا كان التعامل مباشر مع قاعدة البيانات .

اول شي اني رابط الداتا كراد بالجدول واريد التعديل على كل حقل انا اريد التعديل عليه

اهم شئ كيفة اضافة زر تعديل وزر حفظ في داخل الداتا كراد

#8
الاساتذتي السلام عليكم

عملت كما في الكود السابق وواجهني مايلي

  1. لم يظهر اسم زر الحذف واسم زر التحديث

  2. زر الحذف يحذف في الدات كراد وليس في القاعدة الاصلية اي الجدول بقى على حاله

  3. اريد زر الحفظ ان يحفظ في جدول اخر نفس الموجود في القاعدة

ادناه القاعدة ارجو ملاحظة الاخطاء

#9

مرحباً أخي الكريم :)

قبل أن تستبدل الـ( Code ) الخاص بك بالتالي وتجريبه عليّك استبدال قاعدة البيانات خاصتك بالقاعدة المرفقة :)

ثانياً - عليّك إنشاء جدول ليتم نقل أو بالأحرى إضافة بيانات سجل من السجلات المتوفرة في الجدول ( Employees ) إلى الجدول الذي ستقوم بإنشائه :)

Imports System.Data
Imports System.Data.OleDb


Public Class Form1
	Protected _ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
	"Data Source =" & Application.StartupPath & "\emp.mdb"


	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		Dim _OleDbConnection As New OleDbConnection(_ConnectionString)
		Dim _OleDbDataAdapter As New OleDb.OleDbDataAdapter( _
		"Select ID, Name, Address, DateOfBirth, Married, IDDep From Employees", _OleDbConnection)
		Try
			_OleDbConnection.Open()
			Dim TB As New DataTable("Employees")
			_OleDbDataAdapter.Fill(TB)
			Me.DataGridView1.DataSource = TB
			Dim Columns As String() = New String() {"Update", "Delete", "Save"}
			With DataGridView1.Columns
				For I As Int32 = 0 To UBound(Columns)
					Dim DGVBtnColumn As New DataGridViewButtonColumn
					DGVBtnColumn.Name = "C" & Columns(I)
					DGVBtnColumn.Text = Columns(I)
				Next
			End With
		Catch OleDbEx As OleDbException
			MsgBox(OleDbEx.ToString())
		Catch Ex As Exception
			MsgBox(Ex.ToString())
		Finally
			_OleDbDataAdapter.Dispose()
			If _OleDbConnection.State = 1 Then _OleDbConnection.Close()
		End Try
	End Sub
	Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
		Select Case e.ColumnIndex
			Case 6
				DeleteRecord(DataGridView1.CurrentRow.Cells(0).Value)
			Case 7
				UpdateRecord(DataGridView1.CurrentRow.Cells)
			Case 8
				SaveRecordTo(DataGridView1.CurrentRow.Cells, "عليّك إنشاء جدول أخر ليتم نقل البيانات إليه")
		End Select

	End Sub

	Private Sub DeleteRecord(ByVal ID As Int32)
		Dim _OleDbConnection As New OleDbConnection(_ConnectionString)
		Dim _CommandText As String = "Delete From Employees Where ID = @ID"
		Dim _OleDbCommand As New OleDbCommand(_CommandText)
		Try
			With _OleDbCommand.Parameters
				.Add("@ID", OleDbType.Integer, 4, "ID").Value = ID
			End With
			_OleDbConnection.Open()
			_OleDbCommand.ExecuteNonQuery()
			MsgBox("تم تعديل السجل بنجاح")
		Catch OleDbEx As OleDbException
			MsgBox(OleDbEx.ToString())
		Catch Ex As Exception
			MsgBox(Ex.ToString())
		Finally
			_OleDbCommand.Dispose()
			If _OleDbConnection.State = 1 Then _OleDbConnection.Close()
		End Try
	End Sub

	Private Sub UpdateRecord(ByVal Cells As DataGridViewCellCollection)
		Dim _OleDbConnection As New OleDbConnection(_ConnectionString)
		Dim _CommandText As String = "Update Employees Set Name = @Name, Address = @Address," & _
		" DateOfBirth = @DateOfBirth, Married = @Married, IDDep = @IDDep Where ID = @ID"
		Dim _OleDbCommand As New OleDbCommand(_CommandText)
		Try
			With _OleDbCommand.Parameters
				.Add("@ID", OleDbType.Integer, 4, "ID").Value = Cells(0).Value
				.Add("@Name", OleDbType.WChar, 255, "Name").Value = Cells(1).Value
				.Add("@Address", OleDbType.WChar, 255, "Address").Value = Cells(2).Value
				.Add("@DateOfBirth", OleDbType.Date, 8, "DateOfBirth").Value = Cells(3).Value
				.Add("@Married", OleDbType.Boolean, 1, "Married").Value = Cells(4).Value
				.Add("@IDDep", OleDbType.Integer, 4, "IDDep").Value = Cells(5).Value
			End With
			_OleDbConnection.Open()
			_OleDbCommand.ExecuteNonQuery()
			MsgBox("تم تعديل السجل بنجاح")
		Catch OleDbEx As OleDbException
			MsgBox(OleDbEx.ToString())
		Catch Ex As Exception
			MsgBox(Ex.ToString())
		Finally
			_OleDbCommand.Dispose()
			If _OleDbConnection.State = 1 Then _OleDbConnection.Close()
		End Try
	End Sub

	Private Function SaveRecordTo(ByVal Cells As DataGridViewCellCollection, _
	ByVal TableName As String) As Boolean
		Dim _OleDbConnection As New OleDbConnection(_ConnectionString)
		Dim _CommandText As String = "Insert Into " & TableName & _
		" (Name, Address, DateOfBirth, Married, IDDep)" & _
		" Values (@Name, @Address, @DateOfBirth, @Married, @IDDep)"
		Dim _OleDbCommand As New OleDbCommand(_CommandText)
		Try
			With _OleDbCommand.Parameters
				.Add("@Name", OleDbType.WChar, 255, "Name").Value = Cells(1).Value
				.Add("@Address", OleDbType.WChar, 255, "Address").Value = Cells(2).Value
				.Add("@DateOfBirth", OleDbType.Date, 8, "DateOfBirth").Value = Cells(3).Value
				.Add("@Married", OleDbType.Boolean, 1, "Married").Value = Cells(4).Value
				.Add("@IDDep", OleDbType.Integer, 4, "IDDep").Value = Cells(5).Value
			End With
			_OleDbConnection.Open()
			_OleDbCommand.ExecuteNonQuery()
			MsgBox("تم إضافة السجل بنجاح")
		Catch OleDbEx As OleDbException
			MsgBox(OleDbEx.ToString())
		Catch Ex As Exception
			MsgBox(Ex.ToString())
		Finally
			_OleDbCommand.Dispose()
			If _OleDbConnection.State = 1 Then _OleDbConnection.Close()
		End Try
	End Function

End Class

استبدل "عليّك إنشاء جدول أخر ليتم نقل البيانات إليه" من ( SaveRecordTo(DataGridView1.CurrentRow.Cells, "عليّك إنشاء جدول أخر ليتم نقل البيانات إليه") ) بإسم الجدول الذي ستقوم بإنشائه

بالتوفيق :)

emp.zip

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#10

جزاك الله خيرا

جاري التجربة لكن سؤال صغير كيف اذا كانت القاعدة تحتوي على جدولين مربوطين اي هناك جدول الاقسام كيف احفظ الجدولين في جدول واحد انا اكونة تحتوي حقوله على جدول الاقسام وجدول الموظفين

#11

استاذي العزيز جزاك الله خيرا

عملت كما قلت لي لكن لم تظهر لي كلمة Update", "Delete", "Save في داخل الخلايا اي لكل صف اريد ان تظهر تلك الكلمات

#12

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

تم تعديل هذه المشاركة بواسطة GHOST2010 في 5 أكتوبر 2009 في 11:22

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#13

الى اساتذتي الاعزاء

عملت كما قلت لي لكن لم تظهر لي كلمة Update", "Delete", "Save في داخل الخلايا اي لكل صف اريد ان تظهر تلك الكلمات

وكما اريد ان يحذف زر الحذف من القاعدة وليس من الدات كراد

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