09-12-14, 07:43 PM
الصفحات : 1 2
11-12-14, 04:14 AM
حذف البيانات من داخل الداتا كريد فيو من خلال الكود التالي ..........
حيث ان User_Table هو اسم الجدول المراد حذف البيانات منه و من خلال الداتا كريد فيو و بالنسبة ل checkbox فاضف انت الشرط المناسب يعني بعد تحديد ال ckeckbox قم بالحذف ............. تحياتي ...
PHP كود :
Dim psation As Integer = BindingContext(User_Table).Position
If MsgBox("هل تريد فعلا حذف المستخدم", MsgBoxStyle.YesNo, "حذف المستخدم") = MsgBoxResult.Yes Then
User_Table.Rows(psation).Delete()
حيث ان User_Table هو اسم الجدول المراد حذف البيانات منه و من خلال الداتا كريد فيو و بالنسبة ل checkbox فاضف انت الشرط المناسب يعني بعد تحديد ال ckeckbox قم بالحذف ............. تحياتي ...
11-12-14, 04:41 AM
السلام عليكم ورحمة الله
الجواب موجود في مشاركتي في موضوعك طباعة السجلات المحددة في الداتا قريد
ضع هذا السطر مع حذف " [ORDER BY [ID "
PHP كود :
Dim sqlString As String = " DELETE FROM [table1] "
بدلاً من هذا السطر
PHP كود :
Dim sqlString As String = " SELECT * FROM [table1] "
يعني من الآخر
PHP كود :
Public Function SqlDataGridViewChecked() As String
' تجهيز الجزء الأول من جملة الاستعلام '
Dim sqlString As String = " DELETE FROM [table1] "
' تجميع الأسطر عن طريق تشيك بوكس '
Dim w As New List(Of String)
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If r.Cells(0).Value = True Then w.Add(" ([ID] = " & r.Cells("id").Value & ") ")
Next
' تجميع بقية جملة الاستعلام '
sqlString &= " WHERE " & Join(w.ToArray, " OR ")
If w.Count > 0 Then Return sqlString
End Function
11-12-14, 11:56 PM
الف شكر اخي العزيز وليد ولكن لم يتم الحذف هذا مثال لعملية الطباعة بعد الاختيار من اداة Chickbox
ارجو التعديل عليه
ارجو التعديل عليه
12-12-14, 05:49 AM
السلام عليكم ورحمة الله
المشكلة ليس لدي كريستال ريبورت للتجربة
أول شيء عند خطأ في قاعدة البيانات وهي عدم وجود عمود id ويجب إضافته بترقيم تلقائي ومفتاحي
وهو مهم جداً إذا كنت تستخدم الاستعلام المحدد أو الحذف المحدد أو التعديل المحدد
هذا كود Form1 تم تعديله بالكامل تقريباً
PHP كود :
Imports System.Data.OleDb
Public Class Form1
Public connString As String = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" & Application.StartupPath & "\data.mdb"
#Region " Form1_Load "
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' تعبئة الداتاجريدفيو '
FillDataGridView()
End Sub
#End Region
' زر طباعة المحدد '
#Region " Button1_Click "
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Cursor = Cursors.WaitCursor
' طباعة المحدد '
PrintSelections()
Me.Cursor = Cursors.Default
End Sub
#End Region
' زر طباعة الكل '
#Region " Button2_Click "
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Cursor = Cursors.WaitCursor
' طباعة الكل '
PrintAll()
Me.Cursor = Cursors.Default
End Sub
#End Region
' زر حذف المحدد '
#Region " Button3_Click "
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Cursor = Cursors.WaitCursor
If MsgBox("هل أنت متأكد من الحذف؟", MsgBoxStyle.Question + _
MsgBoxStyle.YesNo + MsgBoxStyle.MsgBoxRtlReading + _
MsgBoxStyle.MsgBoxRight) _
= MsgBoxResult.Yes _
Then
' حذف المحدد '
DeleteSelections()
End If
Me.Cursor = Cursors.Default
End Sub
#End Region
' تعبئة الداتاجريدفيو '
#Region " FillDataGridView() "
Private Sub FillDataGridView()
Try
Using da As New OleDbDataAdapter("SELECT * FROM [persons]", connString)
Using dt As New DataTable
da.Fill(dt)
Me.DataGridView1.DataSource = dt
' بإمكانك إخفاء عمود في الداتاجريدفيو '
''Me.DataGridView1.Columns("id").Visible = False
End Using
End Using
' إضافة عمود تشكبوكس في الداتاجريدفيو '
AddDataGridViewCheckBoxColumn()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
#End Region
' إضافة عمود تشكبوكس في الداتاجريدفيو '
#Region " AddDataGridViewCheckBoxColumn() "
Private Sub AddDataGridViewCheckBoxColumn()
' إذا وجد عمود تشكبوكس داتاجريدفيو نقوم بحذفه '
If Me.DataGridView1.Columns("printCheckBox") IsNot Nothing Then
Me.DataGridView1.Columns.Remove("printCheckBox")
End If
' إنشاء عمود تشكبوكس داتاجريدفيو '
Dim clmCheckBox As New DataGridViewCheckBoxColumn
' تسمية العمود لاستخدامه بالاسم '
clmCheckBox.Name = "printCheckBox"
' تسمية رأس العمود '
clmCheckBox.HeaderText = "اختر للطباعة"
' إضافة العمود إلى داتاجريدفيو '
Me.DataGridView1.Columns.Add(clmCheckBox)
End Sub
#End Region
' طباعة المحدد '
#Region " PrintSelections() "
Private Sub PrintSelections()
Try
' جملة الاستعلام '
Dim sqlString As String = SqlSelectDataGridViewChecked()
If sqlString <> "" Then
Using da As New OleDbDataAdapter(sqlString, connString)
Using dt As New DataTable
da.Fill(dt)
' الفورم 2 '
Form2.print(dt)
Form2.ShowDialog()
End Using
End Using
ClearDataGridViewCheckBox()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
#End Region
' تجهيز جملة الاستعلام '
#Region " SqlSelectDataGridViewChecked() As String "
Private Function SqlSelectDataGridViewChecked() As String
' تجهيز الجزء الأول من جملة الاستعلام '
Dim sqlString As String = "SELECT * FROM [persons] "
' تجميع الأسطر عن طريق تشيكبوكس '
Dim w As New List(Of String)
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If r.Cells("printCheckBox").Value = True Then
w.Add(" ([id] = " & r.Cells("id").Value & ") ")
End If
Next
' تجميع بقية جملة الاستعلام '
sqlString &= " WHERE " & Join(w.ToArray, " OR ") & " ORDER BY [id] "
If w.Count > 0 Then Return sqlString
End Function
#End Region
' إفراغ تشيكبوكس '
#Region " ClearDataGridViewCheckBox() "
Private Sub ClearDataGridViewCheckBox()
For Each r As DataGridViewRow In Me.DataGridView1.Rows
r.Cells("printCheckBox").Value = False
Next
End Sub
#End Region
' طباعة الكل '
#Region " PrintAll() "
Private Sub PrintAll()
Try
Using da As New OleDbDataAdapter("SELECT * FROM [persons]", connString)
Using dt As New DataTable
da.Fill(dt)
' الفورم 2 '
Form2.print(dt)
Form2.ShowDialog()
End Using
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
#End Region
' حذف المحدد '
#Region " DeleteSelections() "
Private Sub DeleteSelections()
Try
' جملة الحذف '
Dim sqlString As String = SqlDeleteDataGridViewChecked()
If sqlString <> "" Then
Using conn As New OleDbConnection(connString)
Using cmd As New OleDbCommand(sqlString, conn)
' تنفيذ الحذف '
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Using
End Using
' تعبئة الداتاجريدفيو '
FillDataGridView()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
#End Region
' تجهيز جملة الحذف '
#Region " SqlDeleteDataGridViewChecked() As String "
Private Function SqlDeleteDataGridViewChecked() As String
Try
' تجهيز الجزء الأول من جملة الاستعلام '
Dim sqlString As String = "DELETE FROM [persons] "
' تجميع الأسطر عن طريق تشيك بوكس '
Dim w As New List(Of String)
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If r.Cells("printCheckBox").Value = True Then
w.Add(" ([id] = " & r.Cells("id").Value & ") ")
End If
Next
' عكسنا الترتيب لأن الحلقة تبدأ بالعكس '
w.Reverse()
' تجميع بقية جملة الاستعلام '
sqlString &= " WHERE " & Join(w.ToArray, " OR ")
If w.Count > 0 Then Return sqlString
Catch ex As Exception
End Try
End Function
#End Region
End Class
هذا كود Form2 تم تعديله
PHP كود :
Public Class Form2
Public Sub print(ByVal dt As DataTable)
Dim rpt As New CrystalReport1
rpt.SetDataSource(dt)
CrystalReportViewer1.ReportSource = rpt
End Sub
End Class
12-12-14, 11:25 AM
بارك الله فيك الف شكر 10%10
12-12-14, 06:35 PM
باقي الحفظ والتعديل من خلال المحدد في DataGridview
12-12-14, 08:20 PM
قمت بالمحاولة ظهر لدي خطأ في جملة الاضافة
INSERT INTO
لاحظ المثال إذا امكن التعديل عليه
مع ملاحظة ان الحفظ اريده في جدول آخر وليس في نفس الجدول الذي تم استعراض البيانات منه
INSERT INTO
لاحظ المثال إذا امكن التعديل عليه
مع ملاحظة ان الحفظ اريده في جدول آخر وليس في نفس الجدول الذي تم استعراض البيانات منه
15-12-14, 06:07 AM
هل الحفظ من الداتا قريد يختلف عن الحذف والطباعة بالنسبة لموضوعي من خلال المحدد من ChickBox
17-12-14, 02:44 PM
لم يتم الحفظ من خلال الداتا قريد بعد الاختيار من اداة Chickbox
ارجوا مساعدتي في هذا الموضوع
ارجوا مساعدتي في هذا الموضوع
الصفحات : 1 2