تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[ تمّ الحل ] : الرّجاء المساعدة في بعض الأكواد
#1
السّلام عليكم و رحمة الله و بركاته
إخواني الأفاضل .. يمكن أن أقوم بتغيير الكود تماما و أستغني عن هذا بالكامل
لكن من باب تتبّع نفس تنسيقات الكود .. و عدم المساس بجزئياته .. ألتمس منكم فضل و كرم و ليس أمر المساعدة لو كان ذلك بالإمكان بكيفية تغيير هذه الأكواد لتتناسب مع أدوات الديف إكسبرس ..
1 - كود الحذف :
كود :
   Public Sub DeleteRowFrom_Location(ByVal DataGridView1 As DataGridView)
       Dim Position As Integer = DataGridView1.CurrentRow.Index
       Dim ID_Position As Integer = DataGridView1.Rows(Position).Cells("STUDENT_Id").Value
       Dim CmdDelete As New OleDbCommand
       With CmdDelete
           .Connection = Conne_2019
           .CommandType = CommandType.Text
           .CommandText = "DELETE  From TBL_STUDENT Where STUDENT_Id = @STUDENT_Id"
           .Parameters.Clear()
           .Parameters.AddWithValue("@STUDENT_Id", OleDbType.Integer).Value = ID_Position
       End With
       Try
           If Conne_2019.State = 1 Then Conne_2019.Close()
           Conne_2019.Open()
           CmdDelete.ExecuteNonQuery()
           Conne_2019.Close()
           CmdDelete = Nothing
       Catch ex As Exception
           Conne_2019.Close()
           MsgBox(Err.Description, MsgBoxStyle.Information)
       Finally
           If Conne_2019.State = ConnectionState.Open Then Conne_2019.Close()
       End Try
   End Sub
الإشكالية في هذه الأسطر الثلاثة .. كيف يتم تغييرها بالجريد فيو

كود :
Public Sub DeleteRowFrom_Location(ByVal DataGridView1 As DataGridView)
       Dim Position As Integer = DataGridView1.CurrentRow.Index
       Dim ID_Position As Integer = DataGridView1.Rows(Position).Cells("STUDENT_Id").Value
2 - هذا الكود الذي أستعمله لعرض التاريخ إذا كان فارغا .. لم يتماشى مع الجريد فيو :

كود :
    If DataGridView1.CurrentRow.Cells(8).Value.ToString = "" Then
            Me.TextBox10.Text = ""
        Else
            Me.TextBox10.Text = Format(DataGridView1.CurrentRow.Cells(8).Value, "yyyy-MM-dd")
        End If
بالواقع إستعملت هذه الطريقة .. و مشى الحال .. لكن الشك راودني بأنّه قد يترتب عنه خلل لا أعرفه ..

كود :
  If GridView1.GetDataRow(e.FocusedRowHandle)("STUDENT_Date_Birth").ToString() = "" Then
                       Me.TxtStudentDateNaissance.Text = ""
                   Else
                       Me.TxtStudentDateNaissance.Text = Format(GridView1.GetDataRow(e.FocusedRowHandle)("STUDENT_Date_Birth"), "yyyy-MM-dd")
                   End If
بارك الله فيكم و لكم مقدما و جزاكم خير الجزاء
الرد
تم الشكر بواسطة: جميل5
#2
هذا تعديل لعله يفيد
PHP كود :
Public Sub DeleteRowFrom_Location(ByVal gv As GridView)

 
   If gv.RowCount Nothing Then Return

 
   Dim Position As Integer gv.FocusedRowHandle
    Dim ID_Position 
As Integer gv.GetDataRow(Position).Item("STUDENT_Id")
 
   Dim Name_Position As String gv.GetDataRow(Position).Item("STUDENT_Name")

 
   If MsgBox("Delete (" Name_Position ")?"MsgBoxStyle.Question Or MsgBoxStyle.YesNo) <> MsgBoxResult.Yes Then Return

 
   Me.Cursor Cursors.WaitCursor

    Try
        Dim sql 
"DELETE FROM TBL_STUDENT WHERE STUDENT_Id=@STUDENT_Id"
 
       Using cmd As New OleDbCommand(sqlConne_2019)
 
           cmd.Parameters.AddWithValue("@STUDENT_Id"OleDbType.Integer).Value ID_Position
            If Conne_2019
.State <> ConnectionState.Open Then Conne_2019.Open()
 
           cmd.ExecuteNonQuery()
 
           Conne_2019.Close()
 
       End Using
        ReloadDatabase
()
 
   Catch ex As Exception
        MsgBox
(Err.DescriptionMsgBoxStyle.Information)
 
   Finally
        Conne_2019
.Close()
 
   End Try

 
   Me.Cursor Cursors.Default
End Sub 

إذا كنت قد ربطت GridControl ب BindingSource فتستطيع التعامل مع BindingSource نفسه
الرد
#3
السّلام عليكم و رحمة الله و بركاته
تسلم أخي الغالي " جميل " و سلم يمينك و دينك
الكود شغّال بعد التّجربة زي الفل
إلهي لا يحرمنا منك و من إبداعاتك و لمساتك إن شاء الله
بارك الله فيك و لك ليوم الدين
تحياتي و تقييماتي
الرد
تم الشكر بواسطة: محمد كريّم , asemshahen5



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم