كيفية حذف سجل محدد بالداتا فيو وكيفية اضافة زر جنب كل سجل هو دليت
داتا فيو
هل تقصد DataGridView?
لاحظ أن هناك فئة أخرى إسمها DataView لكن أعتقد أنك تقصد الجريد
هذا كود إضافة زر الحذف
- Dim col As New DataGridViewButtonColumn
- col.Name = "Delete"
- col.Text = "حذف"
- Me.DataGridView1.Columns.Add(col)
وهذا كود الحذف
- Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As System.Window
s.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick - If e.ColumnIndex = Me.DataGridView1.Columns("Delete").Index Then
- CType(Me.DataGridView1.Rows(e.RowIndex).DataBoundItem, DataRowView).Delete()
- End If
- End Sub
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
جزاك الله خيرا واسكنك فسيح جناته
ارجو ان تعلمني كيفة اضافة زر تعديل وزر حفظ
وزر الحفظ يحفظ في جدول اخر نفس حقول الجدول الاصلي
ارجو اجابتي انا في الانتضار جزاكم الله خيرا يا اساتذتي الاجلاء
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.
عذراً، مالذي تقصده بـ( حفظ في جدول أخر نفس حقول الجدول الأصلي ) ؟ - هل تريد نسخ البيانات من جدول إلى جدول أخر ؟
اي السجل الذي اضغط عليه حفظ يحفظ في جدول اخر اسماء حقولة نفس اسماء حقول الداتا كراد(الجدول ان مسوية في الاكسس او الاسكوايل)\
لتعديل ؟ - طريقة التعديل تعود إلى الشكل المستخدم لعرض البيانات كـ( جدول أو حقول )، والتعديل إحدى خصائص الحفظ إذا كان التعامل مباشر مع قاعدة البيانات .
اول شي اني رابط الداتا كراد بالجدول واريد التعديل على كل حقل انا اريد التعديل عليه
اهم شئ كيفة اضافة زر تعديل وزر حفظ في داخل الداتا كراد
عذراً، مالذي تقصده بـ( حفظ في جدول أخر نفس حقول الجدول الأصلي ) ؟ - هل تريد نسخ البيانات من جدول إلى جدول أخر ؟اقتباس
اي السجل الذي اضغط عليه حفظ يحفظ في جدول اخر اسماء حقولة نفس اسماء حقول الداتا كراد(الجدول ان مسوية في الاكسس او الاسكوايل)\
لتعديل ؟ - طريقة التعديل تعود إلى الشكل المستخدم لعرض البيانات كـ( جدول أو حقول )، والتعديل إحدى خصائص الحفظ إذا كان التعامل مباشر مع قاعدة البيانات .
اول شي اني رابط الداتا كراد بالجدول واريد التعديل على كل حقل انا اريد التعديل عليه
اهم شئ كيفة اضافة زر تعديل وزر حفظ في داخل الداتا كراد
مرحباً أخي الكريم :)
قبل أن تستبدل الـ( 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, "عليّك إنشاء جدول أخر ليتم نقل البيانات إليه") ) بإسم الجدول الذي ستقوم بإنشائه
بالتوفيق :)
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
جزاك الله خيرا
جاري التجربة لكن سؤال صغير كيف اذا كانت القاعدة تحتوي على جدولين مربوطين اي هناك جدول الاقسام كيف احفظ الجدولين في جدول واحد انا اكونة تحتوي حقوله على جدول الاقسام وجدول الموظفين
استاذي العزيز جزاك الله خيرا
عملت كما قلت لي لكن لم تظهر لي كلمة Update", "Delete", "Save في داخل الخلايا اي لكل صف اريد ان تظهر تلك الكلمات
من المنطقى أن يكون فى الجريد زر للحذف لكن زر للحفظ والتعديل فهذا شئ لم أره من قبل وأعتقد أنه لن يستخدم أبدا وإذا كنت تعمل على برنامج تنوى بيعه فلا أعتقد أنه فى صالح البرنامج
تم تعديل هذه المشاركة بواسطة GHOST2010 في 5 أكتوبر 2009 في 11:22
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
الى اساتذتي الاعزاء
عملت كما قلت لي لكن لم تظهر لي كلمة Update", "Delete", "Save في داخل الخلايا اي لكل صف اريد ان تظهر تلك الكلمات
وكما اريد ان يحذف زر الحذف من القاعدة وليس من الدات كراد